목록자바 (49)
HS_development_log
1. 문제 2019 KAKAO BLIND 블록 게임 2. 접근 기본적으로 배열을 완전 탐색하는 문제라고 생각했다. 2.1 첫 번째 시도 처음에는 모든 세로줄을 한개씩 검사해서 한 개의 행씩 1x1 블록을 놓은 뒤, 블록이 지워지는지 확인해보려고 했다. 1x1 블록을 -1로 두고 나머지 블록과 검사를 진행했는데 이게 자꾸 예외도 많이 나고 1x1블록끼리 사라지고 난리가 나서 포기했다.. 물론 이 방법으로도 문제가 풀린다. 내 구현력이 떨어지는 듯... 2.2 두 번째 시도 어차피 1x1 블록은 위에서 떨어지므로 애초에 지워질 수 있는 블록의 모양은 정해져 있다. 위에서 블록을 떨어뜨렸을 때 직사각형을 만들 수 있는 블록만 삭제할 수 있다. 그런 블록은 빨강 3번, 빨강 4번, 주황 2번, 주황 3번, 파랑..
1. 문제 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙�� programmers.co.kr 2. 접근 배열의 모든 인접 요소를 확인해야 되는 완전 탐색 문제다. 하나의 요소를 기준으로 아래, 오른쪽, 오른쪽아래 대각선만 확인하는 방식으로 탐색을 진행했다. 배열의 크기가 M*N이므로 M-1,N-1까지만 반복문을 돌리면 됐다. i) 만약, 조건을 만족해서 지울 수 있는 블록을 발견할 경우 바로 지우지 않고 위치만 기억해 두고 끝까지 탐색을 계속했다. 탐색하는 도중 지워버리면 다른 인접 요소에 영향을 받아 예외가 생길 수 ..
1. 문제 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브�� programmers.co.kr 2. 접근 문자열을 다루는 문제. 문자를 2개씩 잘라서 집합을 만들면 되는데 이 집합은 중복이 허용된다. 알파벳으로만 구성하는 집합만 인정하고 대, 소문자를 구별하지 않으므로 모든 문자를 소문자로 바꿔서 처리했다. 2개의 집합을 만들어서 1개의 집합을 기준으로 다른 집합의 요소중 같은게 있다면 교집합 개수를 +1 해준다. 합집합의 개수는 2개의 집합 크기 - 교집합의 개수로 구한다. 교집합 개수 / 합집합 개수 * 65536을..
1. 문제 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 처음 풀었을 때 2시간 걸렸는데 반 정도는 맞고 반 정도는 틀렸다.. 도저히 예외 테스트 케이스를 잡을 방법이 생각이 안 나서 싹 다 지우고 다시 풀었다. 근데 테스트 케이스..