Coding/TIL & 배운것들

수준별 학습에서 배운것들

코딩짜는 머글 2024. 11. 7. 21:16

오늘의 수준별 학습에서 많은 것들을 배웠다. 쉬운 기초 프로그래머스 문제를 튜터님이 풀이해 주셨는데, 쉬운 문제라도 푸는방법이 여러가지가 있고, 몰랐던 방법들을 많이 알게 되었다. 

 

 

1.문자열 출력하기 

str = input()
print(str)

 

2. a와 b출력하기

# f-string 방법
a, b = map(int, input().strip().split(' '))
print(f'a = {a}')
print(f'b = {b}')

---
# format 방법 - 1
a, b = map(int, input().strip().split(' '))
print('a = {0}'.format(a))
print('b = {0}'.format(b))

# format 방법 - 2
a, b = map(int, input().strip().split(' '))
print('a = {num_a}'.format(num_a=a))
print('b = {num_b}'.format(num_b=b))

 

이 전에는 맨 처음의 방법과 두 번째 방법은 알고 있었는데, 세 번째 방법은 오늘 처음알게되었다. 확실히 두 번째 포맷방법이 확실하게 변수를 지정해 주어서 많은 데이터를 사용할때 조금더 보기 좋게 코드를 짤 수 있을 것 같다.

 

3. 문자열 반복해서 출력하기

# input 사용
str, n = input().split(' ')
n = int(n)
print(str*n)

---
# sys.stdin.raedline 사용
import sys

str, n = sys.stdin.readline().strip().split(' ')
n = int(n)
print(str*n)

 

 

 

sys.stdin.readline() 함수도 오늘 처음 알게 되었다. 항상 input()함수만을 사용해서 몰랐는데, 이 함수가 input()함수 보다 가독성이 훨씬 좋다고 하셨다. 또한 input 을 사용할때는 이미 코드에 strip기능이 포함 되어있기 때문에 2번 문제처럼 input()과 strip()이 함께 들어있는 건 올바르지 않다고 말씀해주셨다. 꿀팁을 듣기 전에는 전혀 생각도 하지 않고 있었던 코드들인데, 정말 여러가지로 많은 유용한 정보들을 얻을 수 있던 특강이었다. 

또 각 함수에는 파라미터가 있을 수도 있고 없을 수도 있다고 하셨는데, 오늘은 print()함수의 파라미터에 대해 알려주셨다. 

print()함수에는 sep='', end='/n' 파라미터가 디폴트값으로 들어있다.

 

sep=' '   --> ' ' 안에 무엇을 넣느냐에 따라 print의 출력값이 바뀌게 된다. 

print('hello', 'world')
# 출력
hello world

print('hello','world',sep=',')
# 출력
hello,world

 

end='/n'  -->   줄바꿈이 디폴트값으로 설정되어 있어서, 항상 줄바꿈이 되어져 출력되는 것이다. 원하는 형태로 바꾸어 주는 것도 가능 줄바꿈이 아닌 띄어 쓰기를 원한다면 end=' ' 로 변경해주면 된다.

print('hello')
print('world')

# 출력
hello
world

print('hello',end=' ')
print('world')

# 출력
hello world

 

또한 세미콜론(;)을 사용하면 한줄에 여러개의 명령을 작성할 수도 있다. 많은걸 배운 유익한 시간이었다. 내일도 많은걸 배울 수 있기를 기대한다.