일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프로그래머스
- 시뮬레이션
- BFS
- 2018 KAKAO BLIND RECRUITMENT
- 브루트포스
- GIT
- 2020 카카오 인턴십
- 2019 KAKAO BLIND RECRUITMENT
- 조합
- 이분탐색
- 스택
- Spring
- 로봇 청소기
- 구현
- 백준
- 플로이드 와샬
- 비트마스킹
- SWEA
- 최소 신장 트리
- 우선순위큐
- 크루스칼
- 2021 KAKAO BLIND RECRUITMENT
- 플로이드와샬
- 다익스트라
- 2020 KAKAO BLIND RECRUITMENT
- 트라이
- 파이썬
- 투포인터
- 백트래킹
- 투 포인터
- Today
- Total
목sssssss록프로그래머스 (24)
개발조아
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 투포인터로 해결하였다. 우선 각 보석이 최소 하나가 나와야하므로 보석이 나온 개수를 저장한 딕셔너리를 하나 만들었다. 보석 이름을 키로, 개수를 벨류로 gem_info 딕셔너리를 만들자 다음 이제 투포인터로 정답을 구하자. left,right를 0으로 초기화 후 실행한다. 그리고 count라는 개수 변수를 사용한다. count는 해당 보석이 left, right 사이 구간에서 처음 등장했을 때 값..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/87694 코딩테스트 연습 - 11주차 [[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] 1 3 7 8 17 [[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] 9 7 6 1 11 [[2,2,5,5],[1,3,6,4],[3,1,4,6]] 1 4 6 3 10 programmers.co.kr 내풀이의 핵심은 사각형을 확대 해보는 것이다. 우선 두가지 배열을 사용했다. 사각형의 올라가있는 공간을 표시한 2차원 배열 board 사각형이 올라간 공간이 테두리인지 사각형의 안쪽인지 표시한 3차원 배열 in_out_board 사각형은 최대 4개 이므로 해당 점이 어..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/17678 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr 시간 관련 구현문제이긴하나 시간은 간단했다. 일단 timetable의 시간을 분으로 바꾼 후 정렬하자. 9시에서 부터 시작하여 t 시간만큼 도착시간을 증가시키고 총 n번 수행하면서 사람들을 태우자. 이제 도착시간을 기준으로 timetabl..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 구현문제이다. 문자열 처리만 잘 해준다면 크게 어렵지 않다. 악보나 기억한 멜로디를 전처리를 해주어야한다. C,C# 이처럼 #이 붙은 문자열을 처리해줘야한다. 왜냐면 기억한 멜로디가 CC 이고 악보가 CC#이라면 판별하기 까다롭기 때문에 다 다른 문자로 바꿔주자. 나는 그냥 모든 음 다른 문자열로 매칭시켜줬다. 주의할 점은 문제에 사용..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42892 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 문제는 간단하다. 좌표를 주고 이를 이진트리로 구성해서 전위,후위 탐색을 수행한 결과 값을 내놔라 이다. 트리 구성은 재귀로 구현했다. 우선 좌표를 정렬했다. y는 작아지게 x좌표는 커지게 정렬하게 되면 부모 노드부터 순서대로 정렬이 된다. 그리고 가장 첫번째 값이 부모노드가 된다. 이제 부모노드를 트리에 넣고 시작한다. 왼쪽은 자신보다 y 좌표가 ..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 막상 풀고보니 그렇게 어려운 문제가 아닌듯 했다. 물론 생각하는데 좀 걸렸지만, 그래도 두시간정도 걸린듯 하다. 로봇을 상하좌우, 회전하여 n,n칸으로 이동할 때 최소 시간을 구하는 문제이다. 로봇의 좌표가 두개이고 n의 크기가 100으로 작아서 4차원 배열로 방문 체크를 했다. 최소 시간을 구하라해서 BFS를 이용했다. 로봇의 이동은 그냥 두좌표 동시에 상하좌우 이동시키고 유..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 브루트포스로 해결했다. 열쇠의 칸중 최소 한개가 자물쇠에 올수 있도록 범위를 확장해서 열쇠를 올려보면 된다. 문제의 테케 1번으로 설명하면 아래와 같다. key는 3x3이고 lock는 3x3이다. lock에 key의 최소 한칸이 오려면 key의 크기의 -1만큼 왼쪽위로 범위를 확장하고 올려보면 된다. 위 그림처럼 3x3 lock를 -2,-2에서 2,2까지 있는 5x5범위로 확장하여 열쇠를 올려본다..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/72414?language=python3 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 역시 카카오 시간관련 문제를 좋아한다. 다행인건 시간이 복잡하지 않다는 것이다. 이 문제는 전체 구간의 길이가 주어졌을 때 특정 구간의 합이 가장 큰것의 시작점을 찾는 것이다. 근데 이때 그 구간이 여러개라면 가장 먼저 나온 구간의 시작점을 구하는..