피드백나는 if문이 for문 밖에 있어도 된다고 생각했는데, 아마 iter되면서 heap안의 값들이 모두 answer에 추가 될 것이라고 생각했나보다. 사실은 한번밖에 heappop이 없으니 값이 하나밖에 추가되는게 당연.구해야 하는 것: index그런데 이 index
원래는 rest 배열 정의부분을이런식으로 짰는데, list comprehension으로 more 깔끔하게 짤 수 있었다.
이 문제는 첨에 해쉬로 접근했는데(물론 그 방법으로도 풀 수 있겠지만) 나는 못풀었다. 해쉬로 접근하여 각 좌표의 값들이 같게 만드는 경우를 생각했지만, x좌표와 y좌표가 꼬여버린다는 아주 중요한 문제가 발생했다.위의 풀이를 보고 파이썬 사랑이 폭발해버렸다💥💛zip
예외 처리는 if를 이용한 분기보다 try ~ except를 사용하는 것이 좀 더 파이썬스럽다고 한다.if를 이용한 예외 처리를 LBYL이라 부르고 try ~ except를 이용한 예외 처리를 EAFP라고 부른다. 파이썬은 EAFP 방식을 권장!!참고 글EAFP - ‘
처음에 문제 이해가 되지 않아 헤맸다. 풀이를 하자면 N의 수 만큼, works의 가장 큰 원소들을 차례로 -1씩 해주는 과정을 반복하는 것이다.예를 들어, N이 4일 때는 works의 원소를 총 4번씩 -1 할 수 있는데, 이때 -1을 연산하는 과정은, works의
빙고인 케이스를 세가지로 나눴다.1\. 가로 빙고2\. 세로 빙고3\. 대각선 빙고1, 2 케이스는 쉽게 코드로 구현할 수 있을 거라 생각했는데, 3번인 대각선 케이스를 처음엔 어떻게 구현해야할지 떠오르지 않았다. 그런데 잘 생각해보면 대각선으로 빙고를 할 수 있는 경
주어진 brown과 red의 여러 조합에 따라 생성되는 값 중, 위 그림처럼 brown의 테두리가 하나인 조건을 구하면 된다. 즉 여러 조합 중 특정 조건만 필터링 하면 된다는 뜻인데, 이는 곧 여러 조합을 구하기 위해 완전 탐색을 해야한다.big_set 리스트를 만들
리스트 내 원소는 모두 같다.타겟 넘버를 맞추는 방법이 \*\* 몇가지\*\* 인지만 알면 된다.전형적인 재귀 문제로, dfs를 이용하여 풀 수도 있지만, itertools라이브러리의 product메소드를 사용하여 pythonic한 코드를 작성할 수도 있다.풀이 1)
주어진 것을 정리 : 노드(컴퓨터)의 갯수, 비방향성, 연결선첫 시도: key(컴퓨터) - value (key와 연결된 컴퓨터) 구조의 dictionary 작성 시도\-> 못품 ㅎ ㅠdfs로 접근 : 이미 방문한 노드를 체크하기 위해 visited 리스트 생성\-> 원
정리 글자 하나만 차이나는 단어를 찾아 리스트에 append (코드 작성) 제한사항에서 데이터의 길이가 길지 않은 것을 확인할 수 있다. 시간복잡도가 조금 높아져도 통과할 수 있으므로 삼중 반복문도 try 해봐도 된다. queue를 매번 업데이트 해줘야한다. 왜냐하면
아래처럼 set() 형식으로 저장했다. (첫번째 원소인 '순서'는 불필요하다.)(순서, 아이디, 이름, 메시지)(1, uid1234, Muzi, 님이 들어왔습니다.)(2, uid4567, Prodo, 님이 들어왔습니다.)(3, uid4567, -, 님이 나갔습니다.)(