2019 카카오 개발자 겨울 인턴십 튜플
본 풀이는 java 언어를 사용하였습니다. 문제 보러가기 풀이 처음에 문제가 잘 이해가 안가서 문제 이해하는데 시간을 많이 썼는데, 아래와 같이 생각하니까 너무 쉬운 문제였다. "{{2},{2,1},{2,1,3},{2,1,3,4}}" 위와같이 s 값이 들어온다면, 괄호마다 포함되는 숫자가 많을수록 앞의 숫자라는 말이된다. 숫자가 포함되는 횟수를 계산하면 아래와 같다. 2 : 4번 1 : 3번 3 : 2번 4 : 1번 가장 많은 순으로 내림차순하게 된다면 그 값이 정답이 된다. 정답 : [2, 1, 3, 4] 코드 import java.util.*; public class Solution { public int[] solution(String s) { String[] textNumbers = removeB..
2022. 8. 10.
2021 카카오 채용연계형 인턴십 거리두기 확인하기
본 풀이는 java 언어를 사용하였습니다. 문제 보러가기 풀이 문제를 보고 bfs 로 너비 탐색을 하면서 풀면 되겠다 싶었다. 배열을 순회하면서 해당 값이 사람(P) 인 경우에만 bfs 메서드를 실행하게 한다. 핵심 코드는 bfs 메서드라 해당 부분만 설명하자면 아래와 같다. // 상, 하, 좌, 우 탐색 private static final int[] X_DIR = {-1, 1, 0, 0}; private static final int[] Y_DIR = {0, 0, -1, 1}; private final String PERSON = "P"; private final String PARTITION = "X"; ... private boolean bfs(int x, int y, String[][] plac..
2022. 8. 6.
2018 KAKAO BLIND RECRUITMENT [1차] 뉴스 클러스터링
본 풀이는 java 언어를 사용하였습니다. 문제 보러가기 풀이 다중 집합에서 중복 제거를 어떻게 해야할까? 에 대해서 이해가 잘 안되어서 시간이 오래걸렸는데, 아래와 같이 생각하니까 이해하기 쉬웠다. 만약 A = {1, 2, 3}, B = {1, 1, 1, 4} 라고 한다면, A 와 B 의 교집합은 {1} 이 되며, A 와 B 의 합집합은 {1, 1, 1, 2, 3, 4} 가 된다. 왜 저렇게 되지? 라고 생각이 들텐데.. 아래와 같이 이해하면 쉽다. 맨 처음 값을 비교하여 값이 같다면 교집합에 1을 추가해준다. 그리고 해당 값 중 하나를 제거한다. 그리고 다음 값을 비교한다. 값이 같지 않으므로 넘어간다. 이런식으로 모든 값을 순회하면서 체크하게 되면, 중복되는 값이 제거되게 된다. 여기서 주의할 점이..
2022. 8. 3.