컴퓨터 프로그래밍/알고리즘

[알고리즘] Baekjoon Bronze 2,3

한33 2025. 1. 30. 20:09

Baekjoon Bronze 2,3 을 풀면서 알게된 작은 정보들 메모

 

💡 그대로 출력

while(sc.hasNextLine()) {
    System.out.println(sc.nextLine());
}

다음 줄 입력이 있을 때 까지 반복문을 돌면서 입력받은 것을 그대로 출력시킨다.

 

💡 자료구조 Set

Set<Integer> mySet = new HashSet<>();
mySet.add(temp);
System.out.println(mySet.size());

중복을 피하기 때문에 다 다른 값들만 저장시킬 수 있음.

 

💡 N제곱

Math.pow(x, y);

 

Math 의 pow 를 사용해서 x  의 y 제곱을 구할 수 있다.

 

💡 N진수 변환

String hex = sc.next();
int result = Integer.parseInt(hex, 16);

 

위와 같은 방법으로 문자열로 받아온 값을 원하는 진수로 변환할 수 있다.

 

💡 sc.hasNextLine()

while(sc.hasNextLine()) {

 

while 문을 이용해서 hasNextLine 을 사용하면 입력값이 있는 동안 반복을 시킬 수 있다.

 

💡 아스키 코드

// 공백 32
if (text[i] == 32) blank++;
// 숫자 48~57
else if (48 <= text[i] && text[i] <= 57) num++;
// 대문자 65~90
else if (65 <= text[i] && text[i] <= 90) big++;
// 소문자 97~122
else if (97 <= text[i] && text[i] <= 122) small++;

 

💡 printf 와 %d

System.out.printf("%d %d %d %d\n", small, big, num, blank);

 

printf 를 사용하면 %d, %f 등을 사용할 수 있다.

 

💡 이중 for 문 탈출

outer: // 라벨 이름
        for (...) {
        for (...) {
        if (조건) {
        break outer; // 바깥 루프까지 탈출
        }
                }
                }

 

이중 for 문을 한 번에 탈출하고 싶을 때 for 문 위에 라벨 이름을 명시해주고 break (라벨명); 을 통해 한 번에 탈출시킬 수 있다.