본문 바로가기

Coding Test6

[백준] 20058 마법사 상어와 파이어스톰 - 자바 https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 👀 풀이 배열 회전과 BFS를 사용해서 풀이했습니다. 파이어스톰 시전 시 1. 2^L * 2^L 크기의 격자들로 나눈 후 시계방향 90도 회전 2. 인접한 얼음 확인 후 얼음 3개 미만 시 얼음-1 파이어스톰 다 끝난 후 3. 남아있는 얼음 합 구하기 4. 가장 큰 덩어리 크기 구하기 (BFS) [배열 회전 함수] public static void rotate() { for (.. 2022. 4. 9.
[백준] 5430 AC - 자바 Java https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 아무 생각 없이 풀면 시간초과가 나는 문제다.. reverse함수를 썼다가 처음에 틀렸다. 배열을 뒤집을 때 진짜 뒤집지 말고 덱 자료구조와 어디가 앞인지 기록하며 풀이해야한다. 숫자 배열을 입력받을 때 [1,2,3] 이런 식으로 입력이 들어오므로 substring 함수를 사용해 [ ] 문자를 잘라내고 split(',') 함수를 사용해 숫자를 가져온다. arrStr = br.readLine(); arrStr = arrStr.substring(1, .. 2021. 11. 29.
[프로그래머스] 행렬 테두리 회전하기 - Python 문제 설명 rows x columns 크기인 행렬이 있습니다. 행렬에는 1부터 rows x columns까지의 숫자가 한 줄씩 순서대로 적혀있습니다. 이 행렬에서 직사각형 모양의 범위를 여러 번 선택해, 테두리 부분에 있는 숫자들을 시계방향으로 회전시키려 합니다. 각 회전은 (x1, y1, x2, y2)인 정수 4개로 표현하며, 그 의미는 다음과 같습니다. x1 행 y1 열부터 x2 행 y2 열까지의 영역에 해당하는 직사각형에서 테두리에 있는 숫자들을 한 칸씩 시계방향으로 회전합니다. 행렬의 세로 길이(행 개수) rows, 가로 길이(열 개수) columns, 그리고 회전들의 목록 queries가 주어질 때, 각 회전들을 배열에 적용한 뒤, 그 회전에 의해 위치가 바뀐 숫자들 중 가장 작은 숫자들을 순서.. 2021. 10. 24.
[프로그래머스] 2020 카카오 인턴십 - 경주로 건설 (JAVA) 문제 설명 건설회사의 설계사인 죠르디는 고객사로부터 자동차 경주로 건설에 필요한 견적을 의뢰받았습니다. 제공된 경주로 설계 도면에 따르면 경주로 부지는 N x N 크기의 정사각형 격자 형태이며 각 격자는 1 x 1 크기입니다. 설계 도면에는 각 격자의 칸은 0 또는 1 로 채워져 있으며, 0은 칸이 비어 있음을 1은 해당 칸이 벽으로 채워져 있음을 나타냅니다. 경주로의 출발점은 (0, 0) 칸(좌측 상단)이며, 도착점은 (N-1, N-1) 칸(우측 하단)입니다. 죠르디는 출발점인 (0, 0) 칸에서 출발한 자동차가 도착점인 (N-1, N-1) 칸까지 무사히 도달할 수 있게 중간에 끊기지 않도록 경주로를 건설해야 합니다. 경주로는 상, 하, 좌, 우로 인접한 두 빈 칸을 연결하여 건설할 수 있으며, 벽이 .. 2021. 8. 5.