반응형
백준 알고리즘 문제의 단계별 문제의 3번. for문 파트입니다.
별찍기 문제입니다.
총 몇번 찍을지를 입력받고 순차적으로 찍어주기때문에 이중 for문으로 풀겠습니다.
C언어입니다.
#include<stdio.h>
int main(){
int a;
scanf("%d",&a);
for (int i=1;i<=a;i++){
for(int j=0;j<(a-i);j++){
printf(" ");
}
for(int j=0;j<i;j++){
printf("*");
}
printf("\n");
}
}
C++입니다.
#include <iostream>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
for (int i=1;i<=n;i++){
for(int j=0;j<(a-i);j++){
cout<<" ";
}
for(int j=0;j<i;j++){
cout<<"*";
}
cout<<"\n";
}
}
python입니다
파이썬의경우 출력의 갯수를 print("문자"*갯수)로 문자의 갯수대로 출력할 수 있기때문에 해당 형식으로 출력하면 됩니다.
그리고 파이썬 print 의 경우 마지막 '\n'이 자동으로 포함되어있습니다
줄바꿈 없이 print를 하는 방법은
print(" "*(a-i),end="")
end="" 이라는게 마지막 \n 대신 "" 으로 처리하겠다입니다.
import sys
a=int(sys.stdin.readline())
for i in range(1,a+1):
print(" "*(a-i),end="")
print("*"*i)
Java입니다.
import java.util.*;
import java.io.*;
public class Main {
public static void main(String args[]) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(br.readLine()); //총 입력받을 문자 수
for(int i=1;i<=num;i++){
for(int j=0;j<(num-i);j++){
bw.write(" ");
}
for(int j=0;j<i;j++){
bw.write("*");
}
bw.write("\n");
}
bw.flush(); // 남아있는 데이터를 모두 출력
bw.close(); //닫음
}
}
이것으로 8번째 기본 for문 문제인 별 찍기 -2을 풀어보았습니다.
반응형
'코딩 - > 백준 알고리즘 해설' 카테고리의 다른 글
백준 알고리즘 단계별 문제풀이 4 . while문 , A+B - 5 (백준 10952번) (0) | 2021.07.08 |
---|---|
백준 알고리즘 단계별 문제풀이 3 . for문 , X보다 작은 수 (백준 10871번) (1) | 2021.07.06 |
백준 알고리즘 단계별 문제풀이 3 . for문 , 별 찍기 - 1 (백준 2438번) (0) | 2021.07.06 |
백준 알고리즘 단계별 문제풀이 3 . for문 , A+B - 8 (백준 11022) (0) | 2021.07.06 |
백준 알고리즘 단계별 문제풀이 3 . for문 , A+B - 7 (백준 11021) (0) | 2021.07.06 |