Etc/알고리즘

[softeer] 9497

jjuni_96 2024. 8. 2. 22:53
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