코딩 테스트/Java 문제 풀이

1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정이 문제의 핵심 조건은 양 수가 늑대 수보다 많아야 한다는 것이다. 또한 주의해야할 점이 있는데, 루트 노드에서 왼쪽 오른쪽 중 한 곳을 정해 방문을 해도 그 다음, 그 아래 노드로만 갈 수 있는 것이 아닌 방문해왔던 윗 노드를 거쳐 다른 노드로도 갈 수 있다. 이게 무슨 말이냐면,예를 들어서 0을 방문한 뒤 1을 방문하면 1에서 갈 수 있는 곳이 2,4 뿐만아니라 이전에 방문했던 0을 거쳐 다시 8로도 갈 수 있다.즉, 1에선 2, 4, 8 노드와 인접해있다. 만약 0과 1을 방문한뒤 4..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 풀이 과정일단 문제를 풀기에 앞서 몇가지 주의사항을 생각해봤다.1. center의 수익은 계산하지 않는다.2. 자신의 추천인에게 수익금의 10%를 주고 그 추천인의 추천인에게도 10%를 준다.(없을 때까지)3. 10% 한 값이 소수면 소수부분을 버리고 추천인에게 준다.4. 10%가 1보다 작으면 분배하지 않는다. 그리고 이 문제를 풀기위해 두 가지 해시맵을 생각했다.1. 판매원 - 추천인 해시맵2. 판매원 - 수익 해시맵 일단 해시맵을 사용한 까닭은 조회를 O(1)로 할 수 있기 때문이다. 이 문..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 풀이 과정A와 B가 다음라운드로 이동했을 때 몇 번으로 번호가 바뀌는지를 파악하고 그 둘의 번호가 같은지를 체크해야한다. 번호가 몇번으로 바뀌는지 체크하는 것은 간단하다.1과 2의 승자는 다음 라운드에서 1이 되고 3과 4의 승자는 다음 라운드에서 2가 된다. 일반화하면 N-1과 N이 만나면 그 라운드의 승자는 N/2가 된다.이를 조금 다르게 생각하면 각 번호에서 1을 더한 값을 2로 나눈 몫이 다음 라운드에서의 번호가 된다.  이렇게 해서 A, B 다음 라운드에서의 번호를 구하고 그 두 번호가 ..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 풀이 과정이 문제는 전체적인 로직의 흐름은 어렵지 않은 편이다.하지만 그 각각의 로직을 구현하는 방법을 모른다면 어려운 문제이다. 이 문제의 로직의 흐름은 다음과 같다. 1. 메뉴 조합별로 몇번씩 주문됐는지 파악한다. 2. 1의 결과를 가지고 조합의 크기별로 가장 많이 주문된 조합을 뽑아낸다. 3. 2에서 뽑아낸 조합들을 합쳐서 알파벳순으로 정렬한다.  언뜻보면 별거 없어보이는 문제이다.하지만 1번을 구현하는 과정이 꽤 어려웠던 것 같다.1번의 구현방향은 다음과 같다.   1. 메뉴 조합별로 몇번..
jaehee1113
'코딩 테스트/Java 문제 풀이' 카테고리의 글 목록 (7 Page)