Computer Science
-
메이즈러너 문제보기 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. 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 -
문제집 추천, 이 문제집에 나온 유형들만 공부해도 코딩테스트는 거뜬: https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog 7570번: 줄 세우기 문제보기 7570번: 줄 세우기 입력은 2 개의 줄로 이루어져 있다. 첫 줄에는 어린이 수를 나타내는 정수가 주어진다. 둘째 줄에는 처음에 줄서있는 어린이들의 번호가 차례대로 주어진다. 주어진 번호들 사이에는 공백이 하 www.acmicpc.net 비슷한 문제 보기 : 11053번: 가장 긴 증가하는 부분 수열 문제보기 비슷한 문제 보기 : 11055번: 가장 큰 증가하는 부분 수열 문제보기 비슷한 문제 보기 : 1965번: 상자넣기 문제보기 시간 제한: 1초 메모리 제한: 256MB 문제 대한 어린이집에 올해 ..
[백준] [파이썬] [그리디] [DP] [LIS] 7570번: 줄 세우기문제집 추천, 이 문제집에 나온 유형들만 공부해도 코딩테스트는 거뜬: https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog 7570번: 줄 세우기 문제보기 7570번: 줄 세우기 입력은 2 개의 줄로 이루어져 있다. 첫 줄에는 어린이 수를 나타내는 정수가 주어진다. 둘째 줄에는 처음에 줄서있는 어린이들의 번호가 차례대로 주어진다. 주어진 번호들 사이에는 공백이 하 www.acmicpc.net 비슷한 문제 보기 : 11053번: 가장 긴 증가하는 부분 수열 문제보기 비슷한 문제 보기 : 11055번: 가장 큰 증가하는 부분 수열 문제보기 비슷한 문제 보기 : 1965번: 상자넣기 문제보기 시간 제한: 1초 메모리 제한: 256MB 문제 대한 어린이집에 올해 ..
2023.10.08 -
문제집 추천, 이 문제집에 나온 유형들만 공부해도 코딩테스트는 거뜬: https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog 11053번: 가장 긴 증가하는 부분 수열 문제보기 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 비슷한 문제 보기 : 11055번: 가장 큰 증가하는 부분 수열 문제보기 비슷한 문제 보기 : 1965번: 상자넣기 문제보기 비슷한 문제 보기 : 7570번: 줄 세..
[백준] [파이썬] [DP] [LIS] 11053번: 가장 긴 증가하는 부분 수열문제집 추천, 이 문제집에 나온 유형들만 공부해도 코딩테스트는 거뜬: https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog 11053번: 가장 긴 증가하는 부분 수열 문제보기 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 비슷한 문제 보기 : 11055번: 가장 큰 증가하는 부분 수열 문제보기 비슷한 문제 보기 : 1965번: 상자넣기 문제보기 비슷한 문제 보기 : 7570번: 줄 세..
2023.10.08