알고리즘/프로그래머스 Level4 4

[프로그래머스,java] level4: 올바른 괄호의 갯수

https://school.programmers.co.kr/learn/courses/30/lessons/12929 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 매우간단 실제로 나오는 코드도 매우 간단하게 나오긴한다. 근데 문제 -> 코드로 가는 그 사고력.. 그게 어려우니 레벨 4였던것같다. 괄호.. 2쌍이 생겨나는 경우를 한번 살펴보자. 괄호 2쌍은 ()() , (()) 2개의 경우다. (())은 이전 괄호 1쌍에있던 모든 경우를 마치 감싸듯이 나오는 형태고, ()() 는 괄호 1쌍을 2개 붙인경우다. EX) f(1)*f(1) 괄호 3쌍을 살펴..

[프로그래머스,Java] Level4 : 쌍둥이 빌딩 숲

https://school.programmers.co.kr/learn/courses/30/lessons/140105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제분석: n쌍의 쌍둥이 빌딩이 그림과같은 규칙으로 서있을때, 은비가 바라봣을때 보이는 모습이 몇가지가 존재하는지 반환하는 모습이다. 즉, 은비가 그림과같이 바라보는 모습은 서로다른 쌍이 2개이니, 서로다른 2개의 건물이 겹쳐보이는 n쌍의 빌딩의 경우의수를 구하면된다. 일단 계산값을 100,000,007로 나눠달라는것과 규칙성의 냄새가나면 점화식 DP다. 일반 구현으로 해결할수있는 DP는 조금 ..

[프로그래머스,Java] Level4: 무지의 먹방 라이브

문제 분석 1. 회전테이블에 음식의 양이 다르게 담겨있는 접시들이 존재한다. 2. 테이블은 1초마다 회전한다. 3.무지는 1초마다 회전되는 접시를골라 음식을 1개 먹는다. (빈 접시가 생기면 테이블에서 없앤다.) 4. 이때, 네트워크가 K초의 발생했다고 쳤을때, 무지가 다시먹어야할 접시를 골라주세요. 4번은 말장난이다. 네트워크 K초가 발생할때 무지가 다시먹어야할 접시 라고 이해하기보단, 무지가 K+1초에 먹어야할 접시를 구한다 라고 보는것이 편하다. 문제는 아주 심플하다, K만큼 음식을 소모하다 K+1번째를 고르면 되지만, K의 데이터가 억단위를 넘는다. 즉, 1부터 K까지 일일이 음식을 소모하는 짓은 미친짓이다. 당연히, 이런 빅데이터를 예상하고 주어지면 효율적인 코드를 생각해야한다. 어떻게 효율적으..

[프로그래머스,Java] Level4: 행렬과 연산

https://school.programmers.co.kr/learn/courses/30/lessons/118670 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제분석 문제 목표 : Shift 연산과 Rotate연산을 수행하여 행렬 출력하기 Shift 연산 = 맨 아래행을 첫번째 행으로 이동 Rotate연산 = 테두리부분의 원소를 시계방향으로 회전 기능 구현은 매우 쉽다 ! 하지만 이 문제는 정확도 점수 25점: 효율성 점수 75점이다! 그 중에도 효율성의 75점중 50점인 부분은 매우매우 빡센 효율성을 만족해야만한다. 결론부터 말하자면 Rotate ..