알고리즘 공부/백준 문제풀이

[백준]4470 : 줄번호(JAVA)

송테이토 2022. 9. 13. 22:11

백준 4470 자바

 

줄번호 다국어

문제

텍스트에서 줄을 입력받은 뒤, 줄 번호를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 줄의 수 N이 주어진다. 둘째 줄부터 N개의 줄에 각 줄의 내용이 주어진다. 각 줄에 있는 글자의 개수는 50글자를 넘지 않는다.

출력

각 문장의 앞에 줄 번호를 추가한 뒤 출력한다. 줄 번호는 1번부터 시작한다. 줄번호를 추가하는 형식은 출력 예제를 참고하면 된다.

예제 입력 1

5
Lionel Cosgrove
Alice
Columbus and Tallahassee
Shaun and Ed
Fido

예제 출력 1

1. Lionel Cosgrove
2. Alice
3. Columbus and Tallahassee
4. Shaun and Ed
5. Fido

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율

1 초 128 MB 3792 2297 2108 62.533%


코드

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		sc.nextLine(); // 개행 문자 제거해주기
		
//		String str = sc.nextLine();
//		int N = Integer.parseInt(str);

		String[] arr = new String[N];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = sc.nextLine();
			System.out.println((i + 1) + ". " + arr[i]);
		}
		sc.close();
	}

}

for문 String 배열 모두 출력하기

문자를 받을 경우 두 줄로 입력 받을 때 잘 되지 않는다.

-> 첫 A를 입력하고 엔터를 누르는 순간! \n 엔터 값이 먹히고 해당 값이 들어가기 때문이다.

※ next() 개행문자를 무시하고 입력을 받음, 즉 숫자를 치고 엔터를 누를경우 엔터 전까지만 입력을 받음.

※ nextLine() 한줄 단위로 입력 받기 때문에, 개행문자도 한 줄로 인식합니다.

아예 받을 때 모두 sc.nextLine으로 받거나

		String str = sc.nextLine();
		int N = Integer.parseInt(str);

혹은

int N = sc.nextInt();
		sc.nextLine(); // 개행 문자 제거해주기
		
		String[] arr = new String[N];

사이에 넣어 개행문자를 제거해준다.