본문 바로가기
개발자로 나아가는 나의 언어들/JAVA

[JAVA/Softeer] [한양대 HCPC 2023] 개표

by 승싱생숭 2024. 9. 23.
728x90

 

[한양대 HCPC 2023] 개표

문제

 

예제

 

 

풀이

 

문제를 보았을 때, 한표를 받을때마다 | 를 그리고 5표를 받으면 ****로 변경하고 뒤에 공백한칸을 추가한다가 중요한 포인트이다.

 

문제를 읽고 단순히 |||||를 모두 그린다음에 나중에 치환을 해줘야겠다 생각을 할 수 있다.

 

내가 풀이한 방식은 5단위 즉 "**** "로 표기해주어야하는 숫자를 미리 파악하고, 5로 나눈 나머지는 "|"로 표기하는 방식으로 풀이하였다.

 

첫번째 입력값이 반복이 된 후에는 마지막에 println을 통하여 줄바꿈을 해준다.

 

무의미라고 적은 주석은 지워주는게 맞는 코딩이나, 고민의 흔적을 코딩으로 남겨놓고 지우지않은 실수를 나중에 발견한 것에 대한 성찰의 의미로 남겨두었다.

 

이렇게 고민을 하다보면 나도 모르는 실수가 나올 수 있으니, 되돌아보는 버릇을 가지도록 하자

public static void main(String[] args) throws Exception {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int T = Integer.parseInt(br.readLine()); // 첫번째 줄

        for(int i = 0; i < T; i++) { //T 수 만큼 반복
        	
        	int five = Integer.parseInt(br.readLine()); 
        	int five_div = five/5; //input값 나누기
        	int five_mod = five%5; //input값 나머지
        	
        	for( int k = 0; k < five_div; k++) { //input값 나누기 값 만큼 ++++ 입력
	        	System.out.print("++++ ");
	        }
        	
        	if(five_div != 0 && five_mod > 0) { //input값 나누기 값이 0이아니고 나머지 값이 있는 경우
        		
	        	for( int j = 0; j < five_mod; j++) {
	        		System.out.print("|");
	        	}
	        	
	        	System.out.print(" "); // 무의미
	        	
        	}else if(five_div == 0) { // input값 나누기 값이 0인경우
        		
        		for( int j = 0; j < five_mod; j++) {
	        		System.out.print("|");
	        	}
        		
        		System.out.print(" "); // 무의미
        		
        	}
        	
        	System.out.println("");
        	
        }
		
				
		
	}

 

결과

728x90