본문 바로가기
  • 주니어 개발자의
    RESTful 성장기

programmers7

[찾아라 프로그래밍 마에스터 - 게임 맵 최단거리] 문제 https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 분석 및 해결 정말 대표적인 BFS, DFS 그래프 탐색 문제였습니다. 하지만 최단 거리를 구할 때는 BFS가 짱짱맨이므로 BFS를 이용했다 import java.util.*; class Solution { public static int[] dy = {-1, 1, 0, 0}; public static .. 2021. 7. 26.
[연습 문제 - 이상한 문자 만들기] 문제 https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 분석 및 해결 전체 문자열은 하나 이상의 공백을 기준으로 여러 개의 단어로 이루어져 있다. 여기서 중요한 포인트는 1개 정도로 볼 수 있다. 1. 주어진 문자열 s의 전체 인덱스를 기준으로 하는 것이 아닌 문자열 s에 포함되어 있는 문자열 각각에 대해서 이상한 문자를 구할 것. import java.util.*; class Solution { .. 2021. 7. 25.
[찾아라 프로그래밍 마에스터 - 포켓몬] 문제 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 분석 및 접근 해당 문제는 단순히 중복을 제거한 후, 가져갈 수 있는 최대 포켓몬의 수를 구하는 문제이다. 중복을 제거할 수 있는 다양한 방법이 존재하겠지만, 필자는 Set Collection을 사용했다. Set은 Map과는 다르게 중복된 값을 가지지 않기 때문이다. 결론적으로, 포켓몬의 종류가 담긴 배열의 값을 모두 Set 변수에 담은 후 Set에 저장.. 2021. 7. 25.
[2018 KAKAO BLIND RECRUITMENT] 파일명 정렬 문제: programmers.co.kr/learn/courses/30/lessons/17686# 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 분석 및 해결 이 문제를 풀면서 느낀 점은 바로 문제에서 필요하는 요소를 파악하고 이들만을 가지고 문제를 해결하는 것의 중요성이었다. 본인은 처음에 문제 해결을 위해 HEAD, NUMBER, TAIL을 필드값으로 가지는 FileName이라는 클래스를 만들어 각각의 파일명에 대해 HEAD, NUMBER, TAIL을 모두 파싱해 관리했다. 하지만 이 방법은 오.. 2021. 4. 3.
[2019 카카오 개발자 겨울 인턴십] 튜플 문제 : programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 분석 및 해결 집합의 원소들을 가지고 순서를 알아맞혀야 하며, 이때 주의할 점은 집합은 원소의 순서가 바뀔 수 있다는 점이다. 따라서 나는 집합을 원소의 개수별로 Map에 저장하였고, 집합의 원소가 1개인 것부터 n개인 것까지 차례로 돌아가며 순서를 유추했다. import java.util.ArrayList; imp.. 2021. 4. 3.
[2021 KAKAO BLIND RECRUITMENT] 순위 검색 문제 - programmers.co.kr/learn/courses/30/lessons/72412 2021. 3. 31.
[2019 카카오 개발자 겨울 인턴십] 징검다리 건너기 문제 - programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 분석 처음에 문제 해결을 위해 '디딤돌의 숫자가 연속해서 K번 0이 되는 구간이 발생하는 경우'를 구하려고 했었다. 하지만 이 방식은 완전탐색으로 이어졌고, 효율성 측면에서 실패할 수 밖에 없었다. 결과적으로 풀이를 참고하였고, [이분탐색]을 활용해 문제를 풀 수 있었다. 풀이를 참고하며 놀랐던 점은 이분탐색을 적용하는 기준이 '징검다리를 건넌 니니즈 친구들의 수'였다는 것이다. 나는 단순히 디딤돌의 숫자에 초점을 맞춰 징검다리를 건널 수 있는 니니즈 친구들의 수를 구하려고 했었기.. 2021. 3. 30.