사내 뉴스레터 발송 플랫폼으로 스티비
를 사용하고 있는데, 스티비는 하나의 뉴스레터에 업로드 가능한 이미지 총 용량이 정해져있다.
이미지 용량이 부족해서 업로드가 어려운 경우, 기존 이미지들의 용량을 줄이는 방법으로 해결할 수 있다.
백준 11549
첫째 줄에 정답 1개를 주고 둘째 줄에 답변 5개를 주어 답변 중 정답을 맞춘 것의 개수를 반환하는 문제였다. 지금까지 입력값을 처리할 때는 항상 int(input())
방식을 사용했는데, 정답과 답변이 문자여도 서로 같은지 여부를 비교하는 데 문제가 없을 것 같아서 이번에는 생략했다.
answer = input()
count = 0
arr = input().split()
for c in arr:
if c == answer : count += 1
print(count)
짧은 코드를 보니 count()
함수를 이용하고 있어서 찾아보았다. 파이썬의 count()
함수는 String과 List 타입에 대해 사용할 수 있는데, 함수의 매개변수가 살짝 다르니 유의해야 한다. 이 함수를 알면 앞으로 문제를 풀 때 코드량을 꽤 많이 줄일 수 있을 것 같다.
answer = input()
print(input().split().count(answer))
# string.count(value, start, end)
print("Give me an apple".count('a',0,9)) # 1
# list.count(value)
print(['a', 'b', 'c', 'b', 'd'].count('b')) # 2
백준 11654
입력값으로 숫자나 영문을 받아 아스키 코드 숫자로 출력하는 문제였다. 이건 아무래도 따로 함수가 있을 것 같아 바로 검색해보았다.
ord(value)
: 문자를 ascii 코드로chr(value)
: 문자 타입의 숫자를 ascii 코드로처음엔 input()의 type을 이용해 구분하려 했는데 생각해보니 input()은 무조건 str이고, ord()는 모든 str에 대해 아스키 코드를 반환하니 그 두가지만 있어도 되겠다는 생각이 들었다. 그래서 최종적으론 짧은 한 줄이 되었다.
print(ord(input()))
사건의 지평선 (Event Horizon)
: 일반 상대성 이론에서 그 내부에서 일어난 사건이 그 외부에 영향을 줄 수 없는 경계면. 예시는 블랙홀. 외부에서는 물질이나 빛이 안쪽으로 빨려들어갈 수 있지만, 내부에서는 블랙홀의 중력에 의한 붕괴속도가 탈출하려는 빛의 속도보다 커지므로 내부로 들어온 물질이나 빛은 사건의 지평선 너머 외부로 빠져나갈 수 없다. (출처: 위키백과:사건의 지평선)