Softeer - 개표 [한양대 HCPC 2023] - Java

chaemin·2024년 2월 14일
0

Softeer

목록 보기
5/8

1. 문제

https://softeer.ai/practice/7698

2. 풀이

  • 이미지 출처 : HCPC-2023.pdf

구현은 위의 풀이처럼 하면 된다.
구현보다 출력형식이 더 까다로웠던 것 같다.


▼출력형식

해당 이미지처럼 출력 사이에 공백이 포함되어 있다.

2-1. 나의 풀이방법

따라서 5표(++++)앞에 공백을 넣어주고 sb.append(" ++++");
|표 출력 전 공백을 넣어줘서 sb.append(" ");
trim()을 통해 앞뒤 공백을 제거하도록 하였다.

|표가 없을경우도 뒤에 공백 한개가 추가되기 때문에

ex) 5표 = (공백)++++(공백)
(공백) : sb.append(" ++++");
(공백) : sb.append(" ");

이후 앞뒤 공백은 trim으로 제거된다.

마찬가지로 ++++표가 없는 1(한표)의 경우도
(공백)|
이런식으로 완성되어 trim()을 통해 (양쪽) 공백을 자르면 | 한개만 완성된다.

 

2-2. 주요사항

  • trim() : 양쪽 공백 제거

 

3. 코드

import java.io.*;
import java.util.*;

public class Main {

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

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

        int T = Integer.parseInt(br.readLine());

        for(int t = 0; t < T; t++) {
            int n = Integer.parseInt(br.readLine());
            StringBuilder sb = new StringBuilder();
            int count_5 = n / 5;
            int count_one = n % 5;

            for(int i = 0; i < count_5; i++) {
                sb.append(" ++++");
            }

            sb.append(" ");

            for(int i = 0; i < count_one; i++) {
                sb.append("|");
            }

            System.out.println(sb.toString().trim());
        }
    }
}

0개의 댓글