본문 바로가기
알고리즘/백준

[Java] for문 - N찍기 (2741번)

by 자연송어 2021. 6. 20.

- 2중 포문?

 

해결과정🤷‍♂️

package forStatement;
import java.util.Scanner;

public class shootAStar1 {

	public static void main(String[] args) {
		Scanner my = new Scanner(System.in);
		int a;
		a = my.nextInt();
		
		for(a = 1; a <= 10; a++) //10부분을 변경하면 될 것 같음.
		System.out.println(a);
	}
}

 

결과값
어떤 값을 넣어도
1
2
3
4
5
6
7
8
9
10

 

package forStatement;
import java.util.Scanner;

public class shootAStar1 {

	public static void main(String[] args) {
		Scanner my = new Scanner(System.in);
		int a;
		a = my.nextInt(); // a 입력값을 받음.
		
		for(int i = 1; i <= a; i++) //숫자 i가 a만큼 증가함.
		System.out.println(a, i); 
        //i는 아무거나 눌러도 출력이 될 것이고, a값을 입력하면 되지 않을까 추측함.
	}
}
//결과값 구문오류

 

정답🙆‍♂️

package forStatement;
import java.util.Scanner;

public class shootAStar1 {

	public static void main(String[] args) {
		Scanner my = new Scanner(System.in);
		int a;
		a = my.nextInt(); //a 입력값을 받음.
		
		for(int i = 1; i <= a; i++) //i가 a만큼 증가
		System.out.println(i);  //i출력, a값 입력
	}
}

- 쉬운 문제인데 생각보다 오래걸림.

- for문에 i와 a가 동시에 들어가는데 출력할 때 이를 어떻게 1개로 압축할 수 있을지 고민을 많이 함. 

- a는 객체 생성해서 입력값을 받으면 되기 때문에 i만 출력해도 되는 것?

 

다른 방법🙆‍♂️

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner my = new Scanner(System.in);
		
		int a = my.nextInt();
		my.close();
        
		int i = 1;
        
		while(i<= a) {
			System.out.println(i);
			i++;
		}
	}
}

 

'알고리즘 > 백준' 카테고리의 다른 글

[Java] for문 - 별찍기-1 (2438번)  (0) 2021.06.20
[Java] for문 - 기찍N (2742번)  (0) 2021.06.20
[Java] for문 - 구구단 - 2739번  (0) 2021.06.20
[Java] 1330번 : 두 수 비교하기  (0) 2021.05.20