본문 바로가기
728x90

ALGORITHM142

[BOJ/Python] 21608.상어 초등학교 📌 문제 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 📌 문제 접근 방법 students라는 딕셔너리를 만들어서 학생의 번호를 key, 좋아하는 학생 번호 리스트를 value로 저장했다. room과 like_cnt라는 리스트를 만들어서 각각 학생들의 자리배치와 인접한 칸에 있는 좋아하는 학생 수를 저장했다. students 딕셔너리를 순회하며 room에 비어있는 자리를 모두 체크하였다. 델타 행렬을 사용하여 비어있는 자리와 인접한.. 2022. 2. 27.
[BOJ/Python] 20055.컨베이어 벨트 위의 로봇 📌 문제 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 📌 문제 접근 방법 문제에서 제시한 방법대로 구현을 하는 거라 어렵진 않았는데, 문제가 헷갈리게 써있었다..😥 우선 컨베이어 벨트 위에 맨 처음에는 로봇이 하나도 올려져있지 않은 상태이고, 1에서 4까지 모두 수행한 사이클이 1단계임을 숙지하고 구현해보자! 테스트 케이스 3번과 4번에서 자꾸 틀렸었는데, 질문 게시판을 보니 '가장 먼저 벨트에 올라간 로봇부터' 라는 .. 2022. 2. 27.
[PG/Python] N-Queen 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/12952 코딩테스트 연습 - N-Queen 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 programmers.co.kr 📌 문제 접근 방법 어차피 한 행에 하나의 퀸만 놓을 수 있으므로 행을 하나씩 늘려가며 재귀함수를 돌리고, 행이 n과 같아지면 n개의 퀸을 모두 놓았다는 뜻이므로 answer를 1 더해주고 리턴하는 방식으로 구현하였다. cols, minus, plus라는 리스트를 만들었는데, cols는 각 열에 하나의 퀸만 놓을 수 있으므로 지금 놓여있는.. 2022. 2. 27.
[PG/Python] 삼각 달팽이 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 📌 문제 접근 방법 각 행마다 행번호에 +1한만큼 0을 채워서 2차원 배열 snail을 생성한다. 삼각형을 보면 처음에는 n개의 숫자가 아래 방향으로 채워지고, 그 다음은 n-1개의 숫자가 왼쪽 방향, 그 다음은 n-2개의 숫자가 위쪽 방향으로 채워진다. 즉, 방향은 무조건 아래->왼쪽->위 이고, 채워지는 숫자의 개수는 1씩 줄어든다. 이를 코드로 옮기면, .. 2022. 2. 27.
728x90