lv2
프로그래머스 Lv.2 예상 대진표 [Java]
1. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12985 2. 문제 해설 간단한 문제였다. a 와 b를 2로 나눠주면서 나눠준 횟수를 구하면 된다.(짝수이냐 홀수이냐는 구분해줘야한다.) 단, 언제까지 나눠줄 것인지 조건을 설정하는 것이 문제의 핵심이다. 조건 1. a 와 b의 차이가 1이어야 함. 조건 2. a 와 b 중 작은 수가 홀수여야함. 예를 들어 a = 4이고 b =5 이면, 차이가 1이지만 한 라운드를 더 치뤄야한다. 위 조건을 동시에 만족할 때까지 a와 b를 나누어주면 된다. 3. 코드 보기 class Solution { public int solution(int n, int a, int b) { int answer =..
2021 카카오 채용연계형 인턴십 Lv2 거리두기 확인하기 [Java]
2021 카카오 채용연계형 인턴십 Lv2 거리두기 확인하기 1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/81302 2. 문제 해설 카카오 2021 채용연계형 인턴십 코딩테스트의 2번 문제이다. 맨해튼 거리가 2이하면 안된다는 의미는 bfs를 동서남북으로 돌았을 때 깊이 2 이하로는 참가자가 있으면 안된다는 의미이다. 각 대기실을 돌면서 참가자를 만나면 bfs를 돌아 거리두기 확인 여부를 검사하는 방식으로 풀고자 했다. 일단 큰 틀을 먼저 잡기 위해 int 배열을 반환하는 solution 메서드를 먼저 구현했다. 5가지 대기실의 거리두기를 지켰는지 여부를 담을 answer 배열을 만들어준다. 그리고 3중 for문을 돌아야하는데, i는 대기실의 ..