목록Algorithm/kakao (3)
영호
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/81303 나의 풀이 Linked List를 이용하여 주어진 조건들을 구현하면 된다 각 노드들에는 [prev, next, is_deleted]로 마지막 원소는 최종적으로 삭제되었는지를 판단하기 위해 추가했다. 되돌리기 명령어를 위해 deleted라는 stack을 이용한다. 배열로 풀게 되면 입력 노드들의 개수가 최대 1,000,000개, 명령어는 최대 200,000개라 삭제, 되돌리기 명령어 때문에 시간 초과가 날 수 있기 때문에 Linked List로 풀어야 한다. Code #https://programmers.co.kr/learn/courses/30/lessons/81303 def solution(n..
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/81302 나의 풀이 places를 돌며 'P'인 경우 bfs를 수행한다. bfs에서 queue에는 [x, y, distance] 형식으로 넣고 처음에 distance는 0으로 설정한다. 이후 while문을 돌며 pop한 distance에 +1을 해주고, 해당 값이 3이 되면 거리두기 2를 지킨 경우이기 때문에 멈춘다. 만약 상하좌우 탐색 중 distance가 2 이하인데 'P'를 만나면 거리두기가 지켜지지 않은 경우이다. bfs탐색 결과 False가 나오면 거리두기를 지키지 않은 것이기 때문에 모든 반복문을 멈추고 false를 리턴한다. bfs탐색 결과 True면 거리두기를 잘 지킨 경우다. Code ..
[프로그래머스] 2019카카오 BLIND 오픈채팅방 (Python) 문제 설명 - https://programmers.co.kr/learn/courses/30/lessons/42888 나의 풀이 uid : name 형태의 uid_name dictionary생성 record를 순회하며 변경되는 uid : name 최신화 다시 한 번 record를 순회하며 'Enter' or 'Leave'인 경우 uid_name[uid]를 조회해 '~~ 님이 들어왔습니다' or '~~님이 나갔습니다' answer에 append. Code #https://programmers.co.kr/learn/courses/30/lessons/42888 2019 KAKAO BLIND RECRUITMENT def solution(recor..