-
[99클럽 코테 스터디 8일차 TIL 정규식] 백준 9996 한국이 그리울 땐 서버에 접속하지 Python코딩테스트/TIL 2025. 4. 10. 00:38
오늘의 학습 키워드
정규
공부한 내용 본인의 언어로 정리하기
문제
https://www.acmicpc.net/problem/9996

코드
n = int(input()) pattern = input().split("*") length = len(pattern[0]) + len(pattern[1]) for _ in range(n): file = input() if length > len(file): print("NE") else: if pattern[0] == file[:len(pattern[0])] and pattern[1] == file[-len(pattern[1]):]: print("DA") else: print("NE")pattern에서 *는 무조건 중간에 온다. 따라서 *를 기준으로 왼, 오른쪽을 나누는 것부터 시작한다. 이후 input을 통해 file 명을 하나씩 입력받고, 만일 file 명이 pattern보다 짧으면 무조건 조건을 만족하지 않는 것임으로 "NE"를 출력한다. 만일 길이 조건을 만족한다면, file명의 앞과 뒤가 pattern과 일치한지 확인한다.
오늘의 회고
오늘 코테를 풀며 문자열 문제에 약함을 다시한번 느꼈다. 해당 문제에서 *를 기준으로 두 부분으로 나누는 것부터 문제가 시작되어, 입력 문자에 대해서 검증을 하는 부분에서 많이 헷갈렸다. 결국 정규표현식을 사용하지 않고 파일의 앞과 뒤만 확인하여 문제를 풀 수 있었다.
문자열 문제를 오늘 문제 이후로 꾸준히 풀면서 문자열 문제에 익숙해지도록 노력해야겠다.
'코딩테스트 > TIL' 카테고리의 다른 글
[99클럽 코테 스터디 10일차 TIL + 그리디] 백준 1783 병든 나이트 파이썬 (0) 2025.04.14 [99클럽 코테 스터디 9일차 TIL 그리디] 백준 2437 저울 Python (1) 2025.04.11 [99클럽 코테 스터디 7일차 TIL + 스택/큐] 백준 10799 쇠막대기 Python (0) 2025.04.08 [99클럽 코테 스터디 6일차 TIL bfs/dfs] 백준 4963 섬의 개수 python (0) 2025.04.07 [99클럽 코테 스터디 5일차 TIL] 백준 2559 수열 Python 투포인터 (0) 2025.04.04