Coding-Test 32

[프로그래머스/Python] 꼬리 문자열

https://school.programmers.co.kr/learn/courses/30/lessons/181841 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 def solution(str_list, ex): return "".join(s for s in str_list if ex not in s) str_list 를 앞에서부터 돌면서, 그 문자열 안에 ex 가 없으면 이어 붙이고, 있으면 그냥 건너뛰면 됨 그래서 if ex not in s 이 조건만 넣어주면, 자동으로 “제외 문자열 포함된 애들”은 skip 되고, 남은 것들만 순서대로 붙여짐.join : 파이썬에서 문자열들..

Coding-Test 2025.11.03

[프로그래머스/Python] 0 떼기

https://school.programmers.co.kr/learn/courses/30/lessons/181847 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 def solution(n_str): return n_str.lstrip('0') lstrip('0') 파이썬 문자열에서 쓰는 문자열 메서드.l → left (왼쪽)strip → 제거한다“문자열 왼쪽에서 '0' 이라는 문자들을 전부 제거해라”

Coding-Test 2025.11.03

[프로그래머스/Python] 전국 대회 선발 고사

https://school.programmers.co.kr/learn/courses/30/lessons/181851 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 1def solution(rank, attendance): candidates = [] for i in range(len(rank)): if attendance[i]: candidates.append((rank[i], i)) # (등수, 학생번호) candidates.sort() # 등수 기준 오름차순 → 가장 등수 높은 사람 앞쪽 a = candidates[0][1..

Coding-Test 2025.11.03

[프로그래머스/Python] 배열의 길이에 따라 다른 연산하기

https://school.programmers.co.kr/learn/courses/30/lessons/181854 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 def solution(arr, n): start = 0 if len(arr) % 2 == 1 else 1 for i in range(start, len(arr), 2): arr[i] += n return arr len(arr) % 2 → 홀수면 1, 짝수면 0내가 더해야 하는 인덱스는홀수길이 → 짝수 인덱스(0,2,4…)짝수길이 → 홀수 인덱스(1,3,5…)즉 “시작 인덱스”..

Coding-Test 2025.11.03

[프로그래머스/Python] 문자열 묶기

https://school.programmers.co.kr/learn/courses/30/lessons/181855 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 1def solution(strArr): a = [0] * 31 # 0이 31개 들어있는 리스트 생성 (문자열 길이 0~30까지 카운트용) for x in strArr: # strArr 안의 문자열을 하나씩 x로 꺼냄 a[len(x)] += 1 # x의 길이를 인덱스로 사용해서 해당 칸의 값을 1 증가 return max(a) ..

Coding-Test 2025.11.03

[프로그래머스/Python] 세 개의 구분자

https://school.programmers.co.kr/learn/courses/30/lessons/181862 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 import redef solution(myStr): parts = re.split("[abc]", myStr) parts = [p for p in parts if p != ""] return parts if parts else ["EMPTY"] 🧠 문제를 봤을 때 생각하는 흐름"a, b, c로 문자열을 나누자" → split 함수가 떠오름.하지만 split은 기본적으로 하나의 구분자만 쓸 수 있음 (myS..

Coding-Test 2025.11.02

[프로그래머스/Python] 문자열이 몇 번 등장하는지 세기

https://school.programmers.co.kr/learn/courses/30/lessons/181871 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 def solution(myString, pat): return sum(1 for i in range(len(myString)) if myString.startswith(pat, i)) range(len(myString))0부터 시작해서 문자열 끝까지 모든 index를 다 돈다“모든 위치 i 에서 pat 가 시작하는지 검사하겠다” 라는 의미myString.startswith(pat, i)문자열 함수의미 : myString..

Coding-Test 2025.11.02

[프로그래머스/Python] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/181872 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 def solution(myString, pat): idx = myString.rfind(pat) # pat이 마지막으로 등장한 위치 return myString[: idx + len(pat)] # 거기까지 잘라서 반환.rfind(pat)→ pat이 등장한 가장 마지막 위치를 찾아준다.(못 찾으면 -1)myString[: idx + len(pat)]→ “그 pat이 끝나는 지점” 까지만 잘라냄find(..

Coding-Test 2025.11.02

[프로그래머스/Python] 조건에 맞게 수열 변환하기 2

https://school.programmers.co.kr/learn/courses/30/lessons/181881 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항 코드 def solution(arr): # 반복 횟수를 세는 변수. 문제에서 arr(x)라고 표현되므로 x를 카운트해야 함. x = 0 # 언제 배열이 변하지 않을지 모르므로 조건 없이 반복. # 내부에서 arr == nxt가 되면 멈춤 → 수렴 지점에서 return으로 탈출. while True: # 이번 회차에서 새로 계산된 배열을 저장할 리스트. # ..

Coding-Test 2025.11.02

[프로그래머스/Python] 문자 개수 세기

https://school.programmers.co.kr/learn/courses/30/lessons/181902 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 제한사항1 ≤ my_string의 길이 ≤ 1,000 코드def solution(my_string): answer = [0] * 52 # A~Z(26개) + a~z(26개) = 52칸 for ch in my_string: if 'A' 부분의미[0] * 52길이 52짜리 0으로 채워진 리스트 생성'A' 문자가 대문자인지 확인ord(ch)문자의 유니코드(아스키) 숫자값 반환ord(ch) - ord('A')A부터의 상대적..

Coding-Test 2025.10.14