level1_직사각형 별찍기

2024. 2. 6. 22:40파이썬_알고리즘(코딩테스트)/level1

 

내가 제출한 코드

a,b = map(int, input().strip().split(' '))

for i in range(b):
	for j in range(a):
		print("*", end="")
	print()

 

국비 수업시간에 풀었던 기억이 난다. 

b의 값만큼의 행을 가지고, 각 행마다 a값만큼 별("*")을 출력하는 직사각형 패턴을 생성한다.

- .strip() 메소드는 입력 문자열의 양 끝에서 공백과 줄바꿈 문자를 제거한다.

- .split(' ') 메소드는 공백을 기준으로 문자열을 분리하여 리스트를 생성한다. 이 경우 ['5', '3']가 된다

- print("*", end="") : 별(*)을 출력하되, 줄바꿈을 하지 않고 같은 줄에 계속 출력하기 위해 end=""를 사용한다.

- print() : 줄바꿈을 한다. 

 

 

다른 사람이 제출한 코드

a, b = map(int, input().strip().split(' '))
answer = ("*" * a + "\n") * b
print(answer)

 

일단 answer부분을 보게 되면 만약 a = 5라면

answer = ("*" * a +"\n") 

"*****\n"으로 출력되고, 이는 한 줄에 출력한 별의 수를 나타낸다.

"*****\n"으로 출력된걸 "b"번만큼 반복한다. 

 

다음에는.. 나도 이렇게 써야겠다. 코드를 보다보니 진짜 간결하게 잘쓰신거 같다..ㅠㅠ.