[JAVA][정올 1338] 문자 삼각형1 -

SHORTCUT

    반응형
    사이트명 정올
    문제 링크 jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=2074&sca=20
    주요 알고리즘 #for #구현
    사용 언어 JAVA

    1. 문제

    2. 입력 / 출력

     

    3. 풀이

    3-1. 생각 노트

    정말 생각 노트입니다.. 도움 되실 분만..

    1. 어떤식으로 문자가 입력되는지 순서 파악이 중요

    2. 순서대로 좌표를 입력하다 보면, 특정한 규칙이 보임

    3. 해당 규칙대로 하였을 때, 어떻게 2차원으로 표현할지 고민

    4. char[][] 의 기본값은 없다! 따라서, 공백으로 초기화를 해줘야 한다.

    5. 알파벳을 65부터 숫자대로 안넣으면, 배열에 하나씩 다 넣어줘야 한다... 끔ㅈ찍..

     

    3-2. 변수명

    변수명 설명
    int text 대문자 A 를 유니코드로 하면 65 / Z는 90이다. 즉 65부터 (char)로 형변환해서 넣으면 자동으로 대문자가 삽입된다.
    int temp 입력이 끝난 후에 1씩 증가하여 알파벳을 증감하기 위함
    char[][] res 결과값이 들어가는 2차원 char 배열

     

    3-3. 코드 보기

    package jungol;
    import java.util.Scanner;
    
    public class JO1338_문자삼각형1 {
    	public static void main(String[] args) {
    		
    		Scanner sc = new Scanner(System.in);
    		
    		int N = sc.nextInt();
    		
    		char[][] res = new char[N][N];
    		
    		// char 2차원 배열의 기본값은 없으므로, 공백을 셋팅해주기
    		for (int i = 0; i < N; i++) {
    			for (int j = 0; j < N; j++) {
    				res[i][j] = ' ';
    			}
    		}
    		
    		// char에서 A(65) ~ Z(90)
    		int text = 65;
    		int temp = 0;
    		
    		for (int row = 0; row < N; row++) {
    			for (int i = 0; row+i < N; i++) {
    				res[row+i][N-1-i] = (char) (text+temp%26);		// 알파벳 개수 만큼 반복되도록
    				temp++;
    			}
    		}
    		
    		for (int i = 0; i < N; i++) {
    			for (int j = 0; j < N; j++) {
    				System.out.print(res[i][j] + " ");
    			}
    			System.out.println();
    		}
    	}
    
    }
    

     

    3-4. 마무리

    이런 구현 문제는 기업 공채 문제로 나올 수준은 아니지만, 이것들이 활용되는 문제가 출제되는 것 같다. 특히, 이번 삼성 코테에서 달팽이를 활용한 문제가 그렇다(백준 20057). 실제로 나는 달팽이 그리는 걸 까먹어서, 달팽이 어찌 할지 고민하다 포기하고 1솔만 했다..

    즉, 이런 도형 구현은 알고 구현 문제에서 밑바탕으로 나올 수 있다는 것!

     

    도저히 모르겠을 땐, 직접 좌표를 찍어가며 어떤 규칙으로 되는지 파악하는게 중요한 것 같다.

    사실 설계를 다 끝내고 바로 코딩으로 끝내야하는데, 이런 문제는 대충 감만 파악하고 곧장 코딩으로 들어가서 우다다다 푸는 것 같다..

    그렇게 복잡한 구현은 아니라서 계속 변수 바꿔가며 풀리긴 하니까.. 괜찮겠지 뭐..

     

    반응형

    댓글

    Designed by JB FACTORY