목록전체 글 (82)
고딩왕 코범석
문제는 여기! 문제에서 주어진 좌표들을 트리로 표현헤야 힌다. 그 다음, 구현한 트리를 바탕으로 어떻게 순회를 구현할지가 핵심인 문제였다. 제한사항 및 주의사항 모든 노드의 x좌표는 서로 다르며, y좌표가 같으면 같은 레벨로 간주한다. 자식 노드의 y값은 항상 부모의 y값보다 작으며, 임의의 노드 V에서 왼쪽 서브트리의 x값은 V의 x보다 작다. 반대로 오른쪽 서브트리의 x값은 V의 x보다 크다. 풀이전략 우선 주어진 nodeinfo를 순서에 맞게 번호로 표현해야 한다. 시간 효율을 위해 나는 딕셔너리를 선언했다. ex) (x, y) : 1, (x, y) : 2 참고로 딕셔너리의 키는 리스트가 올 수 없어서 튜플로 처리했다. 이제 nodeinfo를 y에 대해 내림차순, x에 대해 오름차순으로 정렬하자. ..
문제는 여기! 저번에 풀었던 추석 트래픽 문제에서 시간 계산하는 과정이 비슷했던 문제다. 문제를 풀이하고 나서 22번 테스트 케이스가 런타임 에러가 나서 질문하기 게시판을 참조하였다. 이 부분은 제한사항 및 주의사항에서 설명하겠다. 제한사항 및 주의사항 셔틀은 항상 09:00 부터 운행하며 n = 운행 횟수, t = 운행하는 시간 간격, m = 한 셔틀버스에 탑승할 수 있는 최대 승객 다음날 셔틀을 타는 일은 없으며, 콘이 셔틀을 타고 사무실을 갈 수 있는 제일 늦은 시간 구하기 0 < n
문제는 여기! 처음에는 재귀를 이용해서 문제를 풀었다. 풀이후 다른 사람들의 풀이 중에서 좀 더 깔끔하고 iterative하게 작성한 방식도 있었다. 여러 풀이를 보는 것과 깔끔한 코드를 짜는것도 중요하다고 느꼈던 문제! 풀이는 재귀를 이용한 풀이로 작성할 것이다. 제한사항 및 주의사항 신청 순서대로 방 배정을 하되, 배정된 방을 원한다면 원하는 방보다 크지만 배정받지 않은 방 번호중 제일 작은 번호를 배정한다. k = 방 전체 갯수, 10 ** 12 이하 room_number 배열은 1
문제는 여기! 이 문제를 맨 처음에 봤을 때는, 열쇠를 자물쇠에 꽂을 때 자물쇠 영역에 벗어난 부분은 어떻게 처리해야 하는지에 대해 고민이었는데, 짱동빈 형님은 기존의 자물쇠에 가로, 세로를 각각 key 사이즈 * 2 만큼 자물쇠 사이즈를 늘려서 하나씩 꽂는 방법으로 풀이하셨다. 생각외로 아이디어가 간단했는데? 나도 문제 풀때는 기가막힌 아이디어 보다는 아기자기한 꼼수를 쓰는 것도 괜찮겠다 싶었던 문제였다. 주의사항 및 제한사항 key와 lock은 정사각형이며, 각각의 크기는 3 이상 20 이하이다. key의 사이즈는 항상 자물쇠의 사이즈보다 같거나 작습니다. 풀이전략 우선, 시간 복잡도를 예상했을 때, 열쇠 크기 * 2 + 자물쇠 크기를 해주면 (20 * 2 + 20) ** 2 = 3,600 열쇠는 회..
문제는 여기! 해당 검색키워드가 접두사 혹은 접미사에 '?'가 붙어있다. 검색키워드에 맞는 가사 단어 갯수를 리턴하는 문제이다. '?'를 어떻게 처리하는지가 관건인 문제! 제한사항 및 주의사항 가사 단어의 갯수는 1
문제는 여기! 입력된 문자열을 시, 분, 초로 파싱하는 것, 각 초 구간의 처리량을 얼마나 효율적으로 분석하냐가 관건인 문제였다. 제한사항 및 주의사항 lines 리스트의 크기는 2,000개 까지다. S = 응답 완료 시간, 2016-09-15 hh:mm:ss.sss 형식 2016-09-15는 필요 없다. T = 처리시간, 0.1s, 2s, 2.0s 등의 형식으로 주어진다. 문제에서 나온 예시 처럼 '2016-09-15 03:10:33.020 0.011s'는 03:10:33.010 ~ 03:10:33.020 동안 이뤄진 것이다. 시작시간과 응답 완료 시간을 포함하는 것에 유의하자. 시작시간 = S - T + 0.001s 풀이전략 lines를 시작시간, 응답 완료시간으로 분해하자. lines[i]를 spl..
문제는 여기! 이번 문제는 꽤 어려웠다. 이 문제를 예전에 풀었던 적이 있어도 막상 다시 풀려고 하니까 기억이 나지 않아서 다른 분의 풀이를 보았다. 그 코드를 기반으로 어떻게 동작하는지 정리하고 풀어보았다. 제한사항 및 유의사항 n
[프로그래머스] 매칭 점수, Python3 문제는 여기! 이번 문제는 정규 표현식을 통해 문제에서 원하는 문자열을 도출하는 과정이 어려워서 다른 분들의 코드를 참조했다. 제한사항 및 유의사항 기본점수 : 해당 웹페이지에서 검색된 키워드의 갯수(대소문자 무시) 외부 링크 수 : 해당 웹페이지에서 다른 외부 웹페이지로 연결된 링크 갯수 링크점수 : 해당 웹페이지에서 링크가 걸린 다른 웹페이지의 기본점수 / 그 다른 웹페이지의 외부링크 수 이 부분이 조금 헷갈렸다. 문제의 이미지를 빌려보자면 B 웹페이지와 C 웹페이지는 A 웹페이지를 외부 링크로 참조했다. 그럼, A 웹페이지의 링크 점수는 (B의 기본점수 / B의 외부링크수) + (C의 기본점수 / C의 외부링크수) 가 되겠다. 우리가 원하는 매칭 점수는 기..