25083 새싹
	•	이스케이프 문자:
	•	\": 큰따옴표 출력.
	•	\\: 백슬래시 출력.
2444 별 찍기 - 7
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();

        // 위쪽 삼각형 (1부터 N까지)
        for (int i = 1; i <= N; i++) {
            // 공백 출력
            for (int j = 1; j <= N - i; j++) {
                System.out.print(" ");
            }
            // 별 출력
            for (int j = 1; j <= 2 * i - 1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

        // 아래쪽 삼각형 (N-1부터 1까지)
        for (int i = N - 1; i >= 1; i--) {
            // 공백 출력
            for (int j = 1; j <= N - i; j++) {
                System.out.print(" ");
            }
            // 별 출력
            for (int j = 1; j <= 2 * i - 1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

    }
}
1157 단어 공부
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        String word = scanner.nextLine().toUpperCase();

        // 알파벳 개수 카운팅 (A-Z)
        int[] alphabetCount = new int[26];
        for (int i = 0; i < word.length(); i++) {
            char ch = word.charAt(i);
            alphabetCount[ch - 'A']++;
        }

        // 가장 많이 사용된 알파벳 찾기
        int maxCount = -1;
        char maxChar = '?';
        for (int i = 0; i < 26; i++) {
            if (alphabetCount[i] > maxCount) {
                maxCount = alphabetCount[i];
                maxChar = (char) (i + 'A');
            } else if (alphabetCount[i] == maxCount) {
                maxChar = '?'; // 빈도가 같은 경우
            }
        }
        System.out.println(maxChar);
    }
}

2941
크로아티아 알파벳
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        String word = scanner.nextLine();

        String[] croatiaAlphabets = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};

        // 크로아티아 알파벳을 하나의 문자로 치환
        for (String alphabet : croatiaAlphabets) {
            word = word.replace(alphabet, "!");
        }
        System.out.println(word.length());

    }
}
1316 그룹 단어 체커
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();
        scanner.nextLine(); // 개행 문자 처리

        int groupWordCount = 0;

        // 각 단어에 대해 처리
        for (int i = 0; i < N; i++) {
            String word = scanner.nextLine();
            if (isGroupWord(word)) {
                groupWordCount++;
            }
        }
        System.out.println(groupWordCount);
    }

    // 그룹 단어인지 확인하는 함수
    public static boolean isGroupWord(String word) {
        boolean[] seen = new boolean[26]; // 알파벳 방문 여부
        char prev = '\0'; // 이전 문자 초기화

        for (int i = 0; i < word.length(); i++) {
            char current = word.charAt(i);

            // 문자가 변경되었는데 이미 나온 적 있다면 그룹 단어가 아님
            if (current != prev) {
                if (seen[current - 'a']) {
                    return false;
                }
                seen[current - 'a'] = true; // 현재 문자를 방문 처리
            }
            prev = current; // 이전 문자 갱신
        }
        return true; // 그룹 단어임
    }
}
25206 너의 평점은
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        // 과목평점 매핑
        HashMap<String, Double> gradeMap = new HashMap<>();
        gradeMap.put("A+", 4.5);
        gradeMap.put("A0", 4.0);
        gradeMap.put("B+", 3.5);
        gradeMap.put("B0", 3.0);
        gradeMap.put("C+", 2.5);
        gradeMap.put("C0", 2.0);
        gradeMap.put("D+", 1.5);
        gradeMap.put("D0", 1.0);
        gradeMap.put("F", 0.0);

        double totalWeightedScore = 0.0; // (학점 × 과목평점)의 합
        double totalCredits = 0.0;       // 학점의 총합

        // 입력 처리
        for (int i = 0; i < 20; i++) {
            String courseName = scanner.next(); // 과목명
            double credit = scanner.nextDouble(); // 학점
            String grade = scanner.next();       // 등급

            if (!grade.equals("P")) { // P(F) 과목은 계산에서 제외
                totalWeightedScore += credit * gradeMap.get(grade); // 학점 × 과목평점
                totalCredits += credit; // 학점 합산
            }
        }

        // 전공평점 계산 및 출력
        double gpa = totalCredits > 0 ? totalWeightedScore / totalCredits : 0.0;
        System.out.printf("%.6f%n", gpa); // 소수점 6자리까지 출력
    }
}

'Algorithm' 카테고리의 다른 글

[백준] 일반 수학 1  (0) 2024.12.02
[백준] 2차원 배열  (1) 2024.11.29
[백준] 문자열  (0) 2024.11.26
[백준] 1차원 배열  (0) 2024.11.25
[백준] 반복문  (0) 2024.11.24