[개념] 생각난 김에 적는 파이썬 정리

곌로그·2023년 3월 17일
0

[python]코딩테스트

목록 보기
1/34
post-thumbnail

오늘은 생각난 김에 파이썬 기본 함수들과 코딩 테스트를 볼 때 많이 사용되는 코드에 대해서 정리해볼까 한다.
그리고 자료구조들을 계속해서 추가해볼까 한다.

[1] 코딩테스트에 활용되는 것들 📑

🛠️ 공백으로 input 값 받기

코딩 테스트에서 input으로 5 25 30과 같이 공백으로 구분된 경우가 있다. 우리는 이 input을 변수에 저장하는 것 뿐만 아니라 자료형을 정해주기를 원한다. 이런 경우에는 그냥 쉽게 다음과 같이 코드를 작성하면 된다.

numList = list(map(int, input().split())

해당 코드에서는 numList라는 변수에 int형으로 입력값들이 split되어 리스트의 형태로 들어갈 것이다.
혹은 그냥 변수 2개가 들어오고 그거에대해 각각의 변수에 저장하고 싶다면 다음과 같이 코드를 작성하면 된다.

	N, M = map(int, input().split())

만약, input으로 "5 23"이 들어왔다면 위의 코드를 통해 N과 M의 변수에는 각각 5와 23이 정수형태로 저장될 것이다.


🛠️ for 문과 관련된 2가지 정리

1 ) 언더바 사용하는 경우

for _ in range(4):
	print("배고파")

위의 코드처럼 for문에 언더바 ( _ )가 사용되는 경우가 있다. 변수 언더바는 값 0,1,2,3을 갖고 반복을 수행하게 된다. 언더바는 실제 사용되지 않는 값으로 dummy variable이라고 한다. 즉, 코드 상에서 사용되지 않는 반복을 원할 떄 언더바를 사용해줄 수 있다. 따라서, 위의 코드 결과 배고파가 4번 출력될 것이다.

2 ) 내장함수 enumerate( )를 사용하는 경우

for idx, fruit in enumerate(["Apple","Peach","Banana","Strawberry"], start = x): 
#인덱스와 원소 unpacking을 진행한 code
#원래는 enumerate로 tuple을 형성
	print(idx, fruit)

위의 코드처럼 for문에 enumerate 함수가 사용되는 경우가 있다. 이런 경우는 주로 우리가 인덱스와 그에 해당하는 원소에 접근하고 싶을 때 많이 사용된다. 즉, print 결과 0 Apple 로 출력이 된다.

  • 시작 인데스 변화
    enumerate 안에 "start"라는 설정을 줄 수 있는데 x의 값에 따라 시작 인덱스가 변하게 된다.

🛠️ 파이썬 2진수, 8진수, 16진수 다루기

1 ) 10진수를 2진수, 8진수, 16진수로 변환

>>> bin(13)
'0b1101'

>>> oct(13)
'0o15'

>>> hex(13)
'0xd'

파이썬에 내장된 함수를 이용해 10진수 숫자를 자유롭게 2진수, 8진수, 16진수로 변환할 수 있다. 이때, 각 진법을 구분하기 위해 결과 값 앞에 문자가 붙게 된다.

2진수: 0b 8진수: 0o 16진수: 0x

2 ) 2진수, 8진수, 16진수를 10진수로 변환

>>> int('0b1101', 2)
13

>>> int('0o15', 8)
13

>>> int('0xd', 16)
13

[2] 자료구조 📑

📚 Stack

0개의 댓글