문제

- 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오

 

우선 코딩테스트를 할 때 값을 입력받아야하기 때문에 bufferReader나 Scanner를 사용해야합니다. 

간혹 속도문제 때문에 bufferReader를 추천하는 편인데, 우선 Scanner를 사용하여 보겠습니다.

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); // 값을 입력받는 스캐너
	}
}

아시는 분들이 많겠지만 백준에 정답을 제출 할 때에는 무조건 클래스명을 Main으로 작성해야 인식합니다.

저도 처음에 몰라서 한창 해멨거든요.. 참고하시면 좋을 거 같아 남깁니다!

 

값을 입력 받는 스캐너를 설정 한 후, 이제 더해야하는 두 정수를 입력받아야합니다. 하지만 생각해보시면 더하기를 하는 횟수가 존재하는데요. 이 세 개의 변수를 모두 선언해 보겠습니다.

		int a; // 더해야 하는 수를 정수형으로 입력받는 변수 선언
		int b;
		int num = sc.nextInt(); // 덧셈을 실행할 횟수를 입력받는 변수 선언

이제 변수 선언을 함으로서 프로그램을 짤 준비가 모두 끝났습니다. 횟수를 입력받고 그 횟수만큼 덧셈을 진행해한 후 출력해야 하기때문에 반복문인 for문으로 만들어보겠습니다.

for (int i = 1; i <= num; i++) {//for문은 num에 들어온 숫자만큼 반복되어 작동한다.
			a = sc.nextInt();// 정수형 타입으로 입력받는 스캐너를 넣어준다.
			b = sc.nextInt();// 반복할 때 마다 새로운 숫자가 들어오기 때문에 다시 선언해준다.
			System.out.println("Case #" + i + ": " + a + " + " + b + " = " + (a+b) );//출력문 작성	
		}

문제를 보면

Case #1: 1 + 1 = 2

위와 같은 형식으로 출력하라고 되어있습니다. 한번 계산할때마다 #옆의 숫자를 하나씩 증가시켜줘야 합니다.

따라서 for문의 i가 작동할 때마다 1씩 증가하게 선언했기때문에 i를 1부터 시작하게 하여 출력문에 삽입했습니다.

보통 for문은 i가 0으로 되어있기 때문에 출력문에 i+1로 하셔도 무방합니다.

 

** 대소문자 구분이나 출력문의 오타도 오답으로 처리됩니다!

 

이제 작성이 완료되었기 때문에 한번 실행해보도록 하겠습니다.

5
1 1
Case #1: 1 + 1 = 2
2 2
Case #2: 2 + 2 = 4
3 3
Case #3: 3 + 3 = 6
4 4
Case #4: 4 + 4 = 8
5 5
Case #5: 5 + 5 = 10

위와 같이 출력이 됩니다. 보시면 출력문이 백준에서 말하는 대로 출력됨을 볼 수 있습니다.

마지막으로 모든 코드를 보여드리고 마무리 하겠습니다.

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); // 값을 입력받는 스캐너
		
		int a;// 더해야 하는 수를 정수형으로 입력받는 변수 선언
		int b;
		int num = sc.nextInt(); // 덧셈을 실행할 횟수를 입력받는 변수 선언
		
		for (int i = 1; i <= num; i++) {//for문은 num에 들어온 숫자만큼 반복되어 작동한다.
			a = sc.nextInt();// 정수형 타입으로 입력받는 스캐너를 넣어준다.
			b = sc.nextInt();// 반복할 때 마다 새로운 숫자가 들어오기 때문에 다시 선언해준다.
			System.out.println("Case #" + i + ": " + a + " + " + b + " = " + (a+b) );//출력문 작성	
		}
	}
}

'백준' 카테고리의 다른 글

백준-25314 코딩은 체육과목입니다.  (0) 2023.07.13
백준 2439번 - 별 찍기-2  (0) 2023.02.02

학원에서 슬슬 팀프로젝트를 시작하고있어 저도 개인프로젝트를 준비하기 시작했습니다. 몇몇강의를 보았지만 우선 제가 그나마 활용도가 높은 언어는 학원에서 배운 것이기때문에 복습 겸 모르는 부분은 공부해 나가기 위해 가벼운 프로젝트를 준비했고, STS3를 이용한 Spring Legacy Project를 한번 만들어 보기로 했습니다.

 

우선 프로젝트를 생성하면 자동으로 생성되는 home.jsp를 실행시켜 보았습니다.

보시다싶이 한글이 깨져서 나오는 현상을 발견했고 학원에서는 시작할때 단 한번만 하는 부분이기에 잘 기억이 나지 않았습니다. 따라서 여러가지 방법을 찾아봤습니다.

 

1. head부에 meta를 입력해보자.

<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

위 코드를 버전에 맞게 head부분에 넣어주시면됩니다. 이 방법은 페이지 언어셋이 UTF-8임을 브라우저에 알리는 방식이라고 합니다.

 

또한 위 코드와 아래에 있는 코드는 HTML의 버젼에 따라 다르게 입력해야한다고 하는데요. 버젼을 잘 모르겠으면 둘다 넣으셔도 됩니다.

 

2. JSP

JSP는 HTML과 비슷한데요. 아래와 같은 코드를 head에 입력해줍니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

이게 이클립스에서 할때는 그냥 charset부분만 바꿔주면 됬었는데... 너무 안 만진부분이다보니 까먹었더라구요. 저는 jsp를 사용하고 있기때문에 이방식을 사용하였습니다.

그 이후 실행하여 정상적으로 인코딩이 된 모습입니다!

 

-- 추가적으로 더 깊이 공부해야한다고 생각하시는 부분이나 설명이 모자란 부분은 선배님들의 충고한마디 남기고 가주시면 감사할거같습니다... ㅠ

+ Recent posts