백준-3
백준 실습
별찍기 - 1


해당 문제는 2중 for 문으로
첫째줄에는 몇번을 반복한건지
두번째 줄에는 별을 몇번 반복할건지 쓰면된다.
처음에는 for문에다가
for(int i = 1; i <= a; i++) {
System.out.print(i +"*");
}
이와 같은 방법을 썻는데 잠시 생각하니 2중 for문이 생각나 시도 해보았는데 성했다.
Scanner sc = new Scanner(System.in);
int a;
a = sc.nextInt();
for(int i = 1; i <= a; i++) {
for(int j =1; j <=i; j++) {
System.out.print("*");
}
System.out.println();
}
윤년


n수의 배수를 구하는 문제 있데
처음에는 어떻게 풀지 몰라서 for 문을써야 하나 싶었지만
그게아니라 그양 if문에다가 %로 조건문만 걸면 되는거였다.
처음 조건문
if(a % 4 == 0 && a % 100 != 0 && a % 400 == 0) {
System.out.println("1");
}else
System.err.println("0asda");
해당 조건문은 계속 false가 나왔다.
이유는
연도가 400의 배수인 경우 true.
연도가 4의 배수이면서 100의 배수가 아닌 경우 true.
이렇게 만들어야하는데
4의 배수이면서 100의 배수가 아니고 400의 배수 라고 조건을 주었기 때문이다.
수정된 코드
Scanner sc = new Scanner(System.in);
int a;
a = sc.nextInt();
if((a % 4 == 0 && a % 100 != 0) || a % 400 == 0) {
System.out.println("1");
}else
System.out.println("0");
별 찍기 -2


해당 문제는 시간이 조금 걸렸다
첫시도는 String값에다가 i 를 곱하면 될줄알았지만
(int * String)
절대 안된다.
Scanner sc = new Scanner(System.in);
int a;
a = sc.nextInt();
for(int i = 1; i <= a; i++) {
for(int j = 1; j <= a; j++) {
System.out.print(" ");
}
for(int k = 1; k <=i; k++) {
System.out.print("*");
}
System.out.println();
}
해당 코드로 실행시켜봤지
*
**
***
**
해당 결과로 5칸이 띄어지고 시작만 했지
원하는 결과값을 얻지는 못했다.
이후
Scanner sc = new Scanner(System.in);
int a;
a = sc.nextInt();
for(int i = 1; i <= a; i++) {
for(int j = 1; j <= a - i; j++) {
System.out.print(" ");
}
for(int k = 1; k <=i; k++) {
System.out.print("*");
}
System.out.println();
}
j가 포함된 for문에 a -i를 주어
5 - (반복된 수) 를 이용하여
원하는 값을 출력하였다
댓글남기기