일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 로봇 청소기
- Spring
- 투포인터
- GIT
- 다익스트라
- 2018 KAKAO BLIND RECRUITMENT
- 2021 KAKAO BLIND RECRUITMENT
- 파이썬
- 플로이드와샬
- 백트래킹
- 2019 KAKAO BLIND RECRUITMENT
- 우선순위큐
- 최소 신장 트리
- 프로그래머스
- 시뮬레이션
- 백준
- 플로이드 와샬
- 트라이
- 크루스칼
- 투 포인터
- 비트마스킹
- 구현
- 2020 KAKAO BLIND RECRUITMENT
- 2020 카카오 인턴십
- SWEA
- 브루트포스
- 조합
- 이분탐색
- BFS
- 스택
- Today
- Total
목sssssss록2020 KAKAO BLIND RECRUITMENT (4)
개발조아
문제 링크 : 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/60062 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하 programmers.co.kr 그리디하게 dist를 정렬해서 가장 긴 것 부터 풀면 되지 않을까 했다가 계속 틀렸던 문제이다. weak = [0,10,30,50,100,120] dist = [5,10,50,100] 이 경우 답은 1이다 weak가 100인 점에서 길이가 100인 친구가 돌면 된다. 그래서 브루트포스로 해결하였다. dist의 순서를 섞고 0번째부터 그 순서대로 다..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 문제의 설명은 어렵지 않았다. 처음에는 word에 ?를 하나씩 붙여서 가능한 경우를 다 만들고 그것을 키로하고 값은 개수로 하는 딕셔너리로 만들었었다. 그리고 쿼리문을 키로해서 딕셔너리를 확인했다. word의 길이는 최대 10000자이고, 모든 가사의 길이의 합이 1백만자 이하 이므로 되지 않을까 했다. 근데 문자를 이어붙이는 과정에서 슬라이싱이 많이 들어가서 효율성 테스트에서 틀리지 않았나 싶다. 그래서 해설을 봐보니 트라이 자료구조를 사용해야한다고 한다. 문자열을 트리 구조로 저장해서 단순 비교해서 검색하는 경우 훨씬 빠르다..
문제 링크 : 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범위로 확장하여 열쇠를 올려본다..