TODAY TIL
안녕하세요! 이번 포스팅에서는 비밀번호 찾기 문제 와 관련된 흥미로운 코딩 문제를 다뤄보겠습니다. 단계적으로 설명하고 코드 구현을 공유합니다.
문제 설명
창영이는 민균이의 컴퓨터에서 비밀번호가 포함된 텍스트 파일을 얻었습니다. 이 파일에는 여러 단어가 줄마다 적혀있으며, 민균이의 비밀번호는 특정 조건을 만족해야 합니다:
- 목록에 포함된 단어의 길이는 모두 홀수입니다.
- 비밀번호를 뒤집은 형태의 문자열도 목록에 포함되어 있습니다.
목표는 목록에서 비밀번호를 찾아 비밀번호의 길이와 가운데 글자를 출력하는 것입니다.
문제 해결을 위한 단계별 접근 방법
1단계: 입력받기
- 첫째 줄에 단어의 개수 NN이 주어집니다.
- 이후 NN개의 단어를 입력받아 words 리스트에 저장합니다.
# 입력 받기
N = int(input())
words = [input().strip() for _ in range(N)]
2단계: 단어와 뒤집은 단어 비교
- 모든 단어에 대해 해당 단어의 뒤집힌 형태가 리스트에 있는지 확인합니다.
- 예를 들어, 단어가 "tulipan"이라면, 뒤집은 형태는 "napilut"입니다.
- 이를 위해 for 루프를 사용해 words 리스트의 각 단어를 순회하며 뒤집힌 단어가 words에 있는지 검사합니다.
# 비밀번호 찾기
password = ""
for word in words:
reversed_word = word[::-1] # 단어 뒤집기
if reversed_word in words: # 뒤집은 단어가 목록에 있는지 확인
password = word
break
3단계: 비밀번호 길이와 가운데 글자 찾기
- 비밀번호를 찾았다면:
- 길이는 len(password)로 구할 수 있습니다.
- 가운데 글자는 (길이 // 2) 인덱스를 통해 찾습니다.
# 비밀번호 길이와 가운데 글자 찾기
length = len(password)
middle_char = password[length // 2]
4단계: 결과 출력
- 비밀번호의 길이와 가운데 글자를 한 줄에 출력합니다.
# 결과 출력
print(length, middle_char)
전체 코드
아래는 전체 코드를 정리한 것입니다.
# 1. 입력 받기
N = int(input())
words = [input().strip() for _ in range(N)]
# 2. 비밀번호 찾기
password = ""
for word in words:
reversed_word = word[::-1]
if reversed_word in words:
password = word
break
# 3. 비밀번호 길이와 가운데 글자 찾기
length = len(password)
middle_char = password[length // 2]
# 4. 결과 출력
print(length, middle_char)
예제와 결과
예제 입력
4
tulipan
napilut
apple
banana
예제 출력
7 i
요약
이 문제는 문자열을 뒤집어 비교하는 방법과 문자열의 가운데 글자를 찾는 기본적인 접근 방식을 통해 해결할 수 있습니다. 단계별로 문제를 나누고 각 단계에서 필요한 작업을 순차적으로 구현하면 쉽게 답을 구할 수 있습니다.
'python' 카테고리의 다른 글
99클럽 코테 스터디_4기 11일차 TIL (0) | 2024.11.08 |
---|---|
99클럽 코테 스터디_4기 10일차 TIL (2) | 2024.11.07 |
99클럽 코테 스터디_4기 8일차 TIL (0) | 2024.11.05 |
99클럽 코테 스터디_4기 7일차 TIL (0) | 2024.11.04 |
99클럽 코테 스터디_4기 6일차 TIL (3) | 2024.11.03 |