[24.10.26] TIL

yy·2024년 10월 26일

개발일지

목록 보기
121/122

python 알고리즘 공부중

1. 입력값 받기 (백준 15552번)

15552번

입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있음.
input 대신 sys.stdin.readline을 사용할 수 있다.
단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋음.

import sys

t = int(input()) # 반복되지 않은 수는 input으로 받아도 됨.

for i in range(0, t):
  a, b = map(int, sys.stdin.readline().split(" "))
  print(a+b)



2. 아스키코드로 변환 (백준 11654번)

11654번

문자 -> 아스키 코드 (ord())

print(ord("A")) #65
print(ord("B")) #66
print(ord("B")) #67

아스키 코드 -> 문자 (chr())

print(chr(65)) #A
print(chr(66)) #B
print(chr(67)) #C



3. 알파벳 리스트 생성 (백준 10809번)

10809번

import string

# 소문자
alphabet = [i for i in string.ascii_lowercase] 

# 대문자
alphabet = [i for i in string.ascii_uppercase] 

# 대소문자
alphabet = [i for i in string.ascii_letters] 

위와 같은 코드를 보기 전에는 알파벳같은 리스트를 만들때 아래와 같이 작성했다.

alphabet = []

for i in range(97, 123):
    alphabet.append(chr(i))

나쁘진 않지만 꼭 아스키 코드의 번호를 꼭 알아야지만 사용할 수 있었다.

profile
시간이 걸릴 뿐 내가 못할 건 없다.

0개의 댓글