0518 개발일지

Yesol Lee·2022년 5월 18일
0

개발일지 - 2022

목록 보기
57/187

오늘 한 일

  • 뉴스레터 내용 조정
  • 맡은 부분 화면정의서 1차 작성 완료
  • 백준 알고리즘 문제 풀기

뉴스레터

사내 뉴스레터 발송 플랫폼으로 스티비를 사용하고 있는데, 스티비는 하나의 뉴스레터에 업로드 가능한 이미지 총 용량이 정해져있다.
이미지 용량이 부족해서 업로드가 어려운 경우, 기존 이미지들의 용량을 줄이는 방법으로 해결할 수 있다.

화면정의서

  • 기존 화면 캡쳐에 안 보이는 입력 제약사항 등도 포함해야 추후 개발 시 편해진다고 함

알고리즘

백준 11549 Identifying tea

백준 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)

string.count()

  • start, end는 전체 문자열에서 각 글자의 인덱스 (공백 포함)
  • value에도 문자열이 올 수 있음
# string.count(value, start, end)
print("Give me an apple".count('a',0,9)) # 1

list.count(value)

list.count()

  • string.count()와 달리 value 하나의 인자만 받음
  • 리스트에 특정 값이 몇 번 나오는지 체크할 때 유용
# list.count(value)
print(['a', 'b', 'c', 'b', 'd'].count('b')) # 2

백준 11654 아스키 코드

백준 11654
입력값으로 숫자나 영문을 받아 아스키 코드 숫자로 출력하는 문제였다. 이건 아무래도 따로 함수가 있을 것 같아 바로 검색해보았다.

  • ord(value): 문자를 ascii 코드로
  • chr(value): 문자 타입의 숫자를 ascii 코드로

처음엔 input()의 type을 이용해 구분하려 했는데 생각해보니 input()은 무조건 str이고, ord()는 모든 str에 대해 아스키 코드를 반환하니 그 두가지만 있어도 되겠다는 생각이 들었다. 그래서 최종적으론 짧은 한 줄이 되었다.

print(ord(input()))

용어정리

mbc 우리은하 블랙홀 뉴스영상 썸네일
2022 우리은하 블랙홀 관측 영상

  • 사건의 지평선 (Event Horizon): 일반 상대성 이론에서 그 내부에서 일어난 사건이 그 외부에 영향을 줄 수 없는 경계면. 예시는 블랙홀. 외부에서는 물질이나 빛이 안쪽으로 빨려들어갈 수 있지만, 내부에서는 블랙홀의 중력에 의한 붕괴속도가 탈출하려는 빛의 속도보다 커지므로 내부로 들어온 물질이나 빛은 사건의 지평선 너머 외부로 빠져나갈 수 없다. (출처: 위키백과:사건의 지평선)
profile
문서화를 좋아하는 개발자

0개의 댓글