2021.06.12 알고리즘 문제풀기

samdaso-o·2021년 6월 12일
0

python

목록 보기
8/17
post-thumbnail

백준 1157

알파벳으로 된 단어를 입력받으면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 문제이다. 가장 많이 사용된 알파벳을 대문자로 출력할것, 가장 많이 사용된 알파벳이 여러개 존재하는 경우 ? 출력할것.이라는 출력조건이 있다.

생각해보기

-입력받은 단어 대문자로 변경하기
-입력받은 단어 각 알파벳별로 단어 세기
-알파벳 별로 센 결과 비교 및 출력

단어를 입력받을때부터 upper()함수로 대문자로 변형하여 저장했다.
그리고 set()으로 다른 변수에 받은 단어를 중복되지 않게 저장했다.
왜냐면 중복되지않게 저장해 그걸 하나씩 꺼내 입력받은 단어랑 비교해 같은것들을 세는 함수를 구현할려고 하기 때문이다.
그게 7~9번줄이다.
11~12번줄까지는 단어를 센 갯수들을 비교해 갯수가 많은게 겹치면 ?를 출력하도록 했다. 14~15번줄은 갯수를 저장한 리스트에서 index()로 같은 갯수를 찾아 순서를 출력하도록 했다.그리고 그 순서와 중복을 없앤 리스트 순서가 같으므로 중복을 없앤 리스트에 그 순서를 그대로 적용해 알파벳을 출력하도록 했다.

14~15번줄을 구현하는데 시간이 제일 오래걸렸다. 머리속에서 이렇게 해야지 하고도 내 몸에서 출력이 안되서 전전긍긍했다..ㅋㅋㅋㅋㅋㅋ

백준 1152

영어 문장이 주어지면 그 문장에 몇개의 단어가 있는지 구하는 문제이다, 다행히 split()함수가 바로 떠올랐고, len()도 바로 떠올랐다.

문자열을 받자마자 split()으로 나눠주고 그 리스트를 바로 len으로 세고 출력했다.
잊지말아야 할것은 split()을 하게 된다면 바로 리스트 형태로 되므로 잊지말기 바란다.

profile
ㅎㅅㅎ

0개의 댓글