프로그래밍/파이썬 python

단계별로 풀어보기 6 - 심화1 (2)

idealtrue 2023. 8. 3. 15:23
728x90

문제번호 10988번 팰린드롬인지 확인하기

 

첫째 줄에 알파벳 소문자로만 이루어진 단어가 입력된다. 첫째 줄에 팰린드롬(거꾸로 읽을 때 같은 단어)이면 1, 아니면 0을 출력해야 한다.

 

답안 :

1 Pal = input()
2 if Pal == Pal[::-1] :
3     print(1)
4 else:
5     print(0)

 

comment :

# 단어를 입력하고, 단어를 거꾸로 했을 경우에 같으면 1, 다르면 0을 출력하는 조건문을 작성하였다.

 

----------------------------------------------------------

 

문제번호 1157번 단어 공부

 

첫째 줄에 알파벳 대소문자로 이루어진 단어가 입력된다. 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳(대소문자 구분 x)을 대문자로 출력해야 한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.

 

답안:

1  word = input().upper()
2  dic = {}
3  for i in word :
4      if i in dic:
5          dic[i] += 1
6      else:
7          dic[i] = 1
8  dic_sort = sorted(dic.items(), key = lambda x : x[1], reverse = True)
9  if len(word) >= 2 and (dic_sort[0][1] == dic_sort[1][1]) :
10     print('?')
11 else:
12     print(dic_sort[0][0])

 

comment :

# 단어를 입력받고, 대문자로 바꾸어준다.

# 단어를 알파벳 단위로 쪼개기 위한 빈 딕셔너리를 준비한다.

# for문을 이용하여 알파벳 하나하나 체크를 하여 딕셔너리에 값을 저장해준다.

# item()을 이용하여 키(key)와 값(value)을 각각의 튜플로 나누어주고, 값에 대해서 내림차순으로 정렬해준다.

# 알파벳의 길이가 2 이상이면서 가장 많이 나온 단어가 2개(이상)가 된다면 ?를 출력해주고, 1개이면 가장 많이 나온 알파벳을 대문자로 출력해주는 코드를 작성하였다.

# sorted 함수는 (정렬데이터, 정렬할 기준, 오름(내림)차순)으로 구성되어 있으며, 정렬된 데이터를 리스트로 만들어서 나온다. 그러므로 여기에서 dic_sort의 타입은 딕셔너리가 아닌 리스트이다.

 

728x90