분류 전체보기
-
문제보기 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 사실 정말 어려운게 없는 문제 다양한 우선순위를 조건부호를 잘 사용하고 heapq를 잘 사용하고 문제 잘 읽고 구현만 꼼꼼히 하면 되는 문제이다. 정말 특별한 알고리즘, 자료구조, 전략, 기술이 요구되는 문제가 아니였다. import sys import heapq # sys.stdin=open('input.txt','r') input=sys.stdin.readline # 상우하좌 pdxs=[-1, 0, 1, 0] pdys=[0, 1, 0, -1] def in_range(nx,ny): return..
[삼성 SW 역량테스트 2023 하반기 오후 1번 문제]: 루돌프의 반란문제보기 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 사실 정말 어려운게 없는 문제 다양한 우선순위를 조건부호를 잘 사용하고 heapq를 잘 사용하고 문제 잘 읽고 구현만 꼼꼼히 하면 되는 문제이다. 정말 특별한 알고리즘, 자료구조, 전략, 기술이 요구되는 문제가 아니였다. import sys import heapq # sys.stdin=open('input.txt','r') input=sys.stdin.readline # 상우하좌 pdxs=[-1, 0, 1, 0] pdys=[0, 1, 0, -1] def in_range(nx,ny): return..
2023.10.17 -
토끼와 경주 문제보기 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai import sys import heapq sys.stdin=open('input.txt','r') input = sys.stdin.readline # 토끼 우선순위 큐 rabbit_pq = [] # 각 토끼의 점수를 기록해줍니다. scores = [0] # 각 토끼의 이동거리를 기록해줍니다. pws = [0] # 각 토끼의 id를 인덱스 번호로 변환해줍니다. id_to_idx = {} # 상하좌우 움직이기 dx=[-1,1,0,0] dy=[0,0,-1,1] ans = 0 global..
[삼성코테 2023 상반기] 토끼와 경주토끼와 경주 문제보기 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai import sys import heapq sys.stdin=open('input.txt','r') input = sys.stdin.readline # 토끼 우선순위 큐 rabbit_pq = [] # 각 토끼의 점수를 기록해줍니다. scores = [0] # 각 토끼의 이동거리를 기록해줍니다. pws = [0] # 각 토끼의 id를 인덱스 번호로 변환해줍니다. id_to_idx = {} # 상하좌우 움직이기 dx=[-1,1,0,0] dy=[0,0,-1,1] ans = 0 global..
2023.10.14 -
메이즈러너 문제보기 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai import sys input=sys.stdin.readline # 모든 참가자를 이동시킵니다. def move_all_traveler(): global exits, ans # M명의 모든 참가자들에 대해 이동을 진행시킨다. for i in range(1,M+1): # 1번 참가자부터 M번 참가자까지 if traveler[i]==exits: # 이미 ㅑ번 참가자가 탈출구 위치에 있으면 continue # 스킵하고 다음 참가자 보기 tx,ty=traveler[i] ex,ey=exits ..
[삼성코테 2023 상반기] 메이즈 러너메이즈러너 문제보기 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai import sys input=sys.stdin.readline # 모든 참가자를 이동시킵니다. def move_all_traveler(): global exits, ans # M명의 모든 참가자들에 대해 이동을 진행시킨다. for i in range(1,M+1): # 1번 참가자부터 M번 참가자까지 if traveler[i]==exits: # 이미 ㅑ번 참가자가 탈출구 위치에 있으면 continue # 스킵하고 다음 참가자 보기 tx,ty=traveler[i] ex,ey=exits ..
2023.10.14 -
이번에는 2차원 배열, 격자의 요소들을 90,180,270 회전해보는 함수를 짜보자 관련문제 : 프로그래머스 행렬 테두리 회전하기 2차원 배열은 90도 단위로 회전한다. 90,180,270, 360도. 360도 회전한 결과는 처음 배열과 같으며 이후에는 이 4개의 형태를 반복한다. 예로 3x3 격자가 있다고 하자. [1,2,3]이 첫 행이 어떻게 변화하는지 먼저 살펴보고 모두 적용해보자. 90도 회전하면 격자의 각 요소는 그림과 같은 값을 갖는다 N=1은 (0,0)에서 (0,2)가 되었고 N=2는 (0,1)에서 (1,2)가 되었다. N=3은 (0,2)에서 (2,2)가 되었다. 각 상태의 행과 열을 기준으로 살펴보자. 여기서 규칙성이 보인다. 회전 전의 열 번호와 회전 후의 행 번호가 일치한다. 그리고 회..
2차원 배열 회전이번에는 2차원 배열, 격자의 요소들을 90,180,270 회전해보는 함수를 짜보자 관련문제 : 프로그래머스 행렬 테두리 회전하기 2차원 배열은 90도 단위로 회전한다. 90,180,270, 360도. 360도 회전한 결과는 처음 배열과 같으며 이후에는 이 4개의 형태를 반복한다. 예로 3x3 격자가 있다고 하자. [1,2,3]이 첫 행이 어떻게 변화하는지 먼저 살펴보고 모두 적용해보자. 90도 회전하면 격자의 각 요소는 그림과 같은 값을 갖는다 N=1은 (0,0)에서 (0,2)가 되었고 N=2는 (0,1)에서 (1,2)가 되었다. N=3은 (0,2)에서 (2,2)가 되었다. 각 상태의 행과 열을 기준으로 살펴보자. 여기서 규칙성이 보인다. 회전 전의 열 번호와 회전 후의 행 번호가 일치한다. 그리고 회..
2023.10.14 -
알고리즘 문제를 풀면서 2차원 배열 회전이나 1차원 배열 회전을 참 많이 필요한데 미리 공식화하자. 관련 문제 보러 가기: [프로그래머스] 배열 회전시키기 arr=[1,2,3,4,5]인 배열의 요소가 오른쪽으로 2번씩 움직이고 가장 끝 요소는 다시 앞으로 온다고 생각해보자. 즉, [4,5,1,2,3]이 된다. 이번에는 arr=[1,2,3,4,5]에서 7번 움직인다고 생각해보자. 그러면 역시 [4,5,1,2,3]이 된다. 시각적으로 나타내면 다음과 같이 표현할 수 있다. 그리고 이걸 표를 통해 보여주면 다음과 같다. i가 다시 5,6,7,8,9가 되면 (i+k)%N은 다시 2,3,4,0,1이 된다 코드로 나타내자. # 배열값 이동 ''' 새 배열을 만들어 원 배열의 i 번째 인덱스의 값을 새 배열의 i+n..
1차원 배열 회전알고리즘 문제를 풀면서 2차원 배열 회전이나 1차원 배열 회전을 참 많이 필요한데 미리 공식화하자. 관련 문제 보러 가기: [프로그래머스] 배열 회전시키기 arr=[1,2,3,4,5]인 배열의 요소가 오른쪽으로 2번씩 움직이고 가장 끝 요소는 다시 앞으로 온다고 생각해보자. 즉, [4,5,1,2,3]이 된다. 이번에는 arr=[1,2,3,4,5]에서 7번 움직인다고 생각해보자. 그러면 역시 [4,5,1,2,3]이 된다. 시각적으로 나타내면 다음과 같이 표현할 수 있다. 그리고 이걸 표를 통해 보여주면 다음과 같다. i가 다시 5,6,7,8,9가 되면 (i+k)%N은 다시 2,3,4,0,1이 된다 코드로 나타내자. # 배열값 이동 ''' 새 배열을 만들어 원 배열의 i 번째 인덱스의 값을 새 배열의 i+n..
2023.10.14 -
아주 좋은 설명 블로그 1 링크 [Python] 더블 링크드 리스트 (이중 연결 리스트) 싱글 링크드 리스트를 배웠으면 더블 링크드 리스트를 빼먹을 수 없다. (만약 지난 싱글 링크드 리스트가 궁금하다면? 2019/11/29 - [IT/자료구조] - [Python] 싱글 링크드 리스트 (단순 연결 리스트)) 이 underflow101.tistory.com 아주 좋은 설명 블로그 2 링크 [파이썬] Linked List, Doubly Linked List 직접 구현하기 배열(Array)은 순차적으로 연결된 공간에 데이터를 나열하는 구조인데 비해 연결리스트(Linked List)는 떨어진 곳에 존재하는 데이터를 포인터(Pointer)로 연결해서 관리한다. 따라서 연결리스트는 데 idm101.tistory.c..
[파이썬] Double linked list 구현아주 좋은 설명 블로그 1 링크 [Python] 더블 링크드 리스트 (이중 연결 리스트) 싱글 링크드 리스트를 배웠으면 더블 링크드 리스트를 빼먹을 수 없다. (만약 지난 싱글 링크드 리스트가 궁금하다면? 2019/11/29 - [IT/자료구조] - [Python] 싱글 링크드 리스트 (단순 연결 리스트)) 이 underflow101.tistory.com 아주 좋은 설명 블로그 2 링크 [파이썬] Linked List, Doubly Linked List 직접 구현하기 배열(Array)은 순차적으로 연결된 공간에 데이터를 나열하는 구조인데 비해 연결리스트(Linked List)는 떨어진 곳에 존재하는 데이터를 포인터(Pointer)로 연결해서 관리한다. 따라서 연결리스트는 데 idm101.tistory.c..
2023.10.12