알고리즘/PS(12)
-
[PS] 백준 1022 - 소용돌이 예쁘게 출력하기
* 문제 링크 https://www.acmicpc.net/problem/1022 1022번: 소용돌이 예쁘게 출력하기 첫째 줄에 r1, c1, r2, c2가 주어진다. 모두 절댓값이 5000보다 작거나 같은 정수이고, r2-r1은 0보다 크거나 같고, 49보다 작거나 같으며, c2-c1은 0보다 크거나 같고, 4보다 작거나 같다. www.acmicpc.net 문제 이해 1. 기존에 정사각형으로 소용돌이 형태로 출력하는 문제랑 유사하다. 2. format과 같은 함수를 이용해 자리수를 맞춰서 출력해야 한다. 3. 그림과는 다르게 네모칸 숫자만 출력하면 되기 때문에 어렵지 않은 문제이다. 문제 풀이 row와 column이 절대값이 5000보다 작다고 하니 최대로 나올수 있는 칸의 수는 10000*10000 ..
2020.05.19 -
[PS/JAVA] 모의 SW 역량테스트 SWEA 5644 : 무선 충전
문제 범준이의 제주도 여행 계획 : SWEA 5644 조건확인 지도의 가로, 세로 크기는 10이다. 사용자는 총 2명이며, 사용자A는 지도의 (1, 1) 지점에서, 사용자B는 지도의 (10, 10) 지점에서 출발한다. 총 이동 시간 M은 20이상 100이하의 정수이다. (20 ≤ M ≤ 100) BC의 개수 A는 1이상 8이하의 정수이다. (1 ≤ A ≤ 8) BC의 충전 범위 C는 1이상 4이하의 정수이다. (1 ≤ C ≤ 4) BC의 성능 P는 10이상 500이하의 짝수이다. (10 ≤ P ≤ 500) 사용자의 초기 위치(0초)부터 충전을 할 수 있다. 같은 위치에 2개 이상의 BC가 설치된 경우는 없다. 그러나 사용자A, B가 동시에 같은 위치로 이동할 수는 있다. 사용자가 지도 밖으로 이동하는 경..
2020.05.15 -
[PS] 백준 2458 - 키 순서
문제 https://www.acmicpc.net/problem/2458 2458번: 키 순서 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 www.acmicpc.net 해설 이 문제를 처음 위상 정렬 문제로 생각하고 접근하였는데 단순한 위상 정렬의 개념으로는 풀 수 없는 문제 였습니다. 학생의 키가 몇 번째 인지 알 수있는 학생은 어떻게 구할 수 있을까요? 단순하게 생각해서 해당 학생의 키 순서를 알기 위해서는 그 학생보다 키가 작은학생들과 큰 학생들을 모두 알아야 합니다. 즉, 주어진 학생들 과의 관계를 모두 알 수있을 때 비로소 자신의 키가 몇 번째 인지..
2020.05.14 -
[PS] 백준 17352 - 여러분의 다리가 되어 드리겠습니다!
문제 https://www.acmicpc.net/problem/17352
2020.05.08 -
[SW 역량테스트 기출풀이] 백준 16236 - 아기상어
문제 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net 해설 일반적인 BFS 완전탐색을 이용한 시뮬레이션 문제 입니다. 이 문제를 해결하는 핵심 키워드는 바로 문제의 조건에 있습니다..
2020.05.07 -
[PS] 백준 15501 - 부당한 퍼즐
문제 https://www.acmicpc.net/problem/15501 15501번: 부당한 퍼즐 현욱은 퍼즐 게임을 굉장히 좋아한다. 어느 날 현욱은 친구로부터 간단한 플래시 퍼즐 게임을 하나 추천 받았는데, 이 퍼즐 게임은 다음과 같은 규칙을 갖고 있다. 플레이어는 1 ~ n 까지 숫자가 � www.acmicpc.net 해설 이 문제는 오히려 어렵게 생각하면 한없이 어려워질 수 있는 유형의 문제이다. 알고리즘을 어느 정도 공부한 입장에서 처음 문제를 본다면 '뒤집기'와 '좌우로 밀기'를 반복하면서 완전 탐색으로 구현하거나 BFS를 떠올리기 쉽다. 하지만 최대 1,000,000의 n 입력이 주어진다면 메모리 초과 or 시간 초과를 면치 못할 것이다. 그렇다면 문제를 다시 한번 읽고 예제 입력 1을 살..
2020.05.04