728x90
문제



제약조건

메모리 제약

입/출력

문제 분석
뭔가 배열을 만들어서 모든 경우의 수를 다 찾아야하는 문제인줄알고 한참을 이것저것 생각해보았었다...
별 생각을 다해도 생각이 안나서 검색을 해보다가, 해당 문제가 애드 혹 알고리즘이란 것을 알게되었다.
정형화된 알고리즘이 아닌 창의력을 발휘해서 푸는 문제....
이런 생각을 가지고 문제를 보다보니까 그냥 위에서부터 행별로 구역을 나누면 되는게 아닌가? 라는 생각이 스쳐지나갔다.
풀이
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int mapSize = Integer.parseInt(bf.readLine());
int[][] map = new int[mapSize][mapSize];
// 값 입력
for (int i = 0; i < mapSize; i++) {
String[] maps = bf.readLine().split(" ");
for (int j = 0; j < maps.length; j++) {
map[i][j] = Integer.parseInt(maps[j]);
}
}
// 출력
for (int i = 0; i < mapSize; i++) {
String result = "";
if (i%2 == 0) {
for (int j = 0; j < mapSize; j++) {
result += (j == mapSize-1) ? 1 + "\r\n" : "1 ";
}
} else {
for (int j = 0; j < mapSize; j++) {
result += (j == mapSize-1) ? 2 + "\r\n" : "2 ";
}
}
bw.write(result);
bw.flush();
}
}
}
성공

느낀점
softeer 2단계 마지막 문제이고, 백준으로 실버V 밖에 안되서 쉬운문제인데 왜 못풀겠지...? 라며 굉장한 현타를 느끼고있을때, 애드 혹 인 것을 보고 "아... 틀에 박히면 안되겠다" 라는 생각을 다시 한번 일깨워준 문제였다.(이런 맛에 문제를 푸는거죠...😂)
링크
https://softeer.ai/practice/9497
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
https://www.acmicpc.net/problem/30875
https://ndb796.tistory.com/474
알고리즘 대회(Competitive Programming)에서 애드혹(Ad-Hoc) 문제란?
일반적으로 경쟁적 프로그래밍(Competitive Programming) 대회, 이른바 알고리즘 대회에서는 종종 애드혹(ad-hoc) 문제가 출제된다. 일반적으로 애드혹 문제라고 하는 것은 해당 문제를 풀기 위해 잘 알
ndb796.tistory.com
728x90
반응형
LIST
'Etc > 알고리즘' 카테고리의 다른 글
| [softeer] 6291 (0) | 2024.08.16 |
|---|---|
| [softeer] 6294 (0) | 2024.08.02 |
| [softeer] 6270 (0) | 2024.08.02 |
| [softeer] 6280 (1) | 2024.07.29 |
| [softeer] 9498 (0) | 2024.07.29 |