• 이스케이프 문자:
• \": 큰따옴표 출력.
• \\: 백슬래시 출력.
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();
}
}
}
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);
}
}
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());
}
}
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; // 그룹 단어임
}
}
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자리까지 출력
}
}