목록구현 (98)
어흥
문제 링크: https://www.acmicpc.net/problem/21611 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net 1. 주의할 점 - 구현할 부분이 많다 - 구슬을 어떻게 당길 것인가? - '파괴된'과 '폭파된' 구슬은 같지 않다 2. 구현 - Info 객체를 이용하여 1~Num^2-1까지 구슬의 위치를 V[] 배열에 담는다 - Arr[][]를 이용하여 현재 격자에 존재하는 구슬의 번호를 나타낸다 - Init() 함수를 이용하여 V[] 배열을 채운다 - M번 동안 지문에서 말한 ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/87694 코딩테스트 연습 - 11주차 [[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] 1 3 7 8 17 [[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] 9 7 6 1 11 [[2,2,5,5],[1,3,6,4],[3,1,4,6]] 1 4 6 3 10 programmers.co.kr 1. 주의할 점 - 직사각형을 어떤 방식으로 표현할 것인가? - 좌표를 어떻게 나타낼 것인가? - 경계를 어떻게 찾을것인가? 2. 구현 - 직사각형을 Arr[][] 배열에 담으며, 경계뿐만 아니라 내부도 1로 채워넣는다. 이때, 좌표를 표현해야하기 때문에 가로 세로를 2..
문제 링크: https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 1. 주의할 점 - 순서대로 정확히 구현을 한다 - 각 단계가 끝나고 초기화해야 할 부분들을 살핀다 2. 구현 - 배열의 범위와 방향을 1씩 줄인다 - Arr[][] 배열에 바구니의 상태를 담는다 - 최초에는 구름이 정해진곳에서 생성되므로 4구역을 Cloud 벡터에 담고 시작한다 - 각 단계가 시작하기 전에 init()을 통해 구름이 사라진곳을 나타내는 Check[][] 배열을..
문제 링크: https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 1. 주의할 점 - 우선순위 큐 정렬을 잘 정리한다 - 요구에 맞게 정확히 구현한다 2. 구현 - Arr[][] 배열을 통해 해당 자리에 위치한 학생 번호를 저장한다 - favorPeople[] Set을 통해 해당 학생이 선호하는 학생 번호를 저장한다 - score[] 배열을 통해 선호하는 학생들의 수에 해당하는 점수를 반환한다 - 배치할 학생들의 순서를 people 큐에 ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/87377#qna 코딩테스트 연습 - 10주차 [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr 1. 주의할 점 - 벡터에 값 채우기 - 범위 설정 2. 구현 - 역행..
문제 링크: 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. 주의할 점 - 어떤 방식으로 접근할건지 생각한다 2. 구현 - 삼각달팽이가 하삼각행렬이라고 생각한다 - 아래,오른쪽,왼쪽위 대각선 총 3개의 방향을 규칙적으로 움직인다 → dx,dy를 통해 나타낸다 - 각 방향으로 움직이는 정도가 n-1, n-2, n-3, ...., 1, 0 만큼 움직이므로 이를 While문을 통해 구현 #include #includ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72412
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 1. 주의할 점 - Set을 적절히 사용하며 정렬을 잘 활용해야 한다 2. 구현 - 만들 메뉴의 수를 Len set에 저장한다 - Orders 벡터에 있는 원소를 정렬하며, 원소 자체(문자열)도 정렬한다 - Orders 벡터에 있는 원소로 만들 수 있는 메뉴 구성을 DFS() 함수를 통해 생성하며, 만약 able의 길이가 Len에 포함된 숫자와 같다면..