상세 컨텐츠

본문 제목

99클럽 코테 스터디 9일차 TIL + 오늘의 학습 키워드 : 해시

본문

728x90
반응형

 

 

*대충 올려서 미안하네요 ㅠㅠ

오늘의 코테

백준 9933번 : 민균이의 비밀번호

def find_password(words):
    word_set = set(words)  # 단어 목록을 집합으로 변환하여 검색 속도 향상
    for word in words:
        reversed_word = word[::-1]  # 단어를 뒤집음
        if reversed_word in word_set:  # 뒤집은 단어가 목록에 있는지 확인
            length = len(word)  # 비밀번호의 길이
            middle_char = word[length // 2]  # 가운데 글자
            return length, middle_char  # 결과 반환

# 입력 처리
N = int(input())
words = [input().strip() for _ in range(N)]  # 단어 입력 받기

# 비밀번호 찾기
length, middle_char = find_password(words)

# 결과 출력
print(length, middle_char)
주제  문법/메서드  설명
변수 선언 N = int(input())  사용자로부터 입력을 받아 정수로 변환하여 N에 저장
리스트 생성 words = [input().strip() for _ in range(N)] N개의 단어를 입력받아 리스트로 저장 (strip()으로 공백 제거)
집합 생성 word_set = set(words) 리스트를 집합으로 변환하여 중복을 제거하고 검색 속도 향상
문자열 뒤집기  reversed_word = word[::-1] 슬라이싱을 이용해 문자열을 역순으로 변환
조건문 if reversed_word in word_set: 조건을 확인하여 특정 단어가 집합에 존재하는지 검사
문자열 길이 length = len(word) 문자열의 길이를 구함
문자 인덱싱  middle_char = word[length // 2] 문자열의 가운데 문자를 인덱스를 이용해 구함
결과 출력 print(length, middle_char)  결과를 출력

 

 

strip()  : 공백제거

set() : 리스트를 집합으로 변환한 값을 할당

 

문자열변수에 [::-1] 를 입력하면 역순 가능?
*** 네이버 블로그 참조 ***

  1. 슬라이스(slicing) 의미인 string[start:end:step] 의 의미이므로 string[::-1]인덱스 처음부터 끝에 걸쳐 -1씩 역순으로 배열하라는 의미가 됨
  2. [출처] 파이썬 사용자가 입력한 문자열을 역순으로 출력하기 - string 슬라이스(slice) 사용|작성자 앵두사랑


 

728x90
반응형

관련글 더보기