본문 바로가기

백준 문제 풀이53

(#2566 Java) 최댓값 문제 해결 항상 9 x 9 행렬이 주어진다. arr 배열을 만들어주자. int arr[][] = new int[9][9]; 행렬 격자판에서 최댓값을 구하고, 그 최댓값의 행과 열의 위치를 출력해야하므로, 각각 max(최댓값), x(행), y(열)의 변수를 만들어준다. int max = 0; int x = 1; //현재의 위치가 몇 행 int y =1 ; //몇 열인지 저장하는 변수 9행, 9열에 대한 값들을 입력받아 arr 배열에 저장한다. for(int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { arr[i][j] = in.nextInt(); } } 이후 각각의 값들을 max와 비교한 후, 현재의 max값보다 크면 max값을 증가시키고, x,y (현재의 위.. 2024. 2. 23.
(#2738 Java) 행렬 덧셈 문제 해결 아주 간단한 문제이다. 우선 스캐너 객체를 만들어 준 후, 가장 첫 줄에 공백으로 구분되어있는 숫자가 각각 행과 열의 개수를 의미하기 때문에 이를 각각 변수에 저장해준다. public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt(); 그 이후 [n][m] 만큼의 배열 2개를 만들어준다. int[][] arr1 = new int[n][m]; int[][] arr2 = new int[n][m]; 각각의 배열을 만들어 준 후 for(int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { arr1[i][j.. 2024. 2. 23.
(#25206 Java) 너의 평점은 문제 해결 전공평점을 계산하는 문제이며, 전공 평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이라고 했으니, 각각에 대한 변수를 만들어준다. double totalSum = 0; // 전공 평점의 총 합계 double scoreSum = 0; // 학점의 총 합계 그리고 등급에 따른 과목 평점들을 각각의 배열에 넣어준다. String gradeList[] = {"A+", "A0", "B+", "B0", "C+", "C0", "D+", "D0", "F", "P"}; double gradeScore[] = {4.5, 4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0.0, 0.0}; 20줄에 걸쳐 치훈이가 수강한 전공과목의 과목명, 학점, 등급이 공백으로 구분되어 주어진.. 2024. 2. 23.
(#1316 Java) 그룹 단어 체커 문제 이해 이 문제를 해결하기 위해서는 '그룹 단어'라는 말을 제대로 이해할 필요가 있다. 쉽게 설명하자면, 같은 문자가 다른 문자가 나온 후 다시 나온다면, 그룹 단어라고 하지 않는 것 같다. 이를 숙지하고 위 예제 입출력을 순서대로 보면 1번 예제 : 3개 모두가 그룹단어라고 한다. 2번 예제 : 4번 째를 제외한 모든 단어들이 같은 문자가 다른 문자 사이 사이 등장하기 때문에 그룹단어가 아니다. 3번 예제 : 3번째 aca가 a가 c를 사이에 두고 다시 등장하므로 그룹 단어가 아니다. 그룹 단어에 대한 이해가 됐으면 이제 문제를 풀어보자. 문제 해결 우선 그룹 단어인지 체크하는 함수를 만들어보자. 현재를 저장하는 변수와, 이전을 저장하는 변수를 각각 만들어줬다. 이전을 저장하는 prev에는 만약 현.. 2024. 2. 21.
(#2941 Java) 크로아티아 알파벳 문제 해결 이 문제에서 잡고 가야하는 포인트는 크로아티아 알파벳 조건에 의해 하나의 문자로 세어진다는 점이다. 배열로 해결할 때, 인덱스의 범위가 벗어나지 않게 주의하며 문제를 풀어보자. 먼저 첫째 줄에 최대 100글자의 단어가 주어진다고 했으므로 입력받은 값을 저장해줄 문자열 변수 str을 만들어주자. 또한 출력되어야 하는 값은 문자를 센 값이다. 즉 count 변수를 만들어주자. String str = in.nextLine(); int count = 0; 그리고 문자열의 길이만큼 반복해줄 반복문을 만들어준 후 그 안에 알맞은 조건문을 작성해주자. 예제 입력에서 lj는 1개의 단어로 세어져야 한다. 그럼 어떻게 코드를 작성해야 할까? for ( int i = 0; i < str.length; i++) .. 2024. 2. 21.
(#11718 Java) 그대로 출력하기 문제 문제 해결 문제 자체는 굉장히 단순하다. 입력 받은대로 똑같이 출력하면 되는 문제! 이 문제에서 알아야 하는 개념은 hasNextLine() !! ★ hasNextLine() ★ 다음에 읽을 값이 있으면 true, 없으면 false를 반환 이를 이용해 다음에 읽을 값이 없을 때까지 루프를 돌리며 출력해주면 된다. Scanner in = new Scanner(System.in); while (in.hasNextLine()) { //true일 때 루프 실행 String S = in.nextLine(); System.out.println(S); } 최종 코드 import java.util.Scanner; public class Main { public static void main(String[] arg.. 2023. 8. 28.
반응형