jyamethyst21 님의 블로그
백준 10809번 - 알파벳 찾기 (PYTHON 풀이) (with. append, join, extend 개념 설명까지) 본문
백준 10809번 - 알파벳 찾기 (PYTHON 풀이) (with. append, join, extend 개념 설명까지)
jyamethyst21 2025. 3. 2. 23:231) 문제

2) 풀이
a="abcdefghijklmnopqrstuvwxyz"
b=input()
c=[]
for i in a:
if i in b:
c.append(b.index(i))
else:
c.append(-1)
print(" ".join(map(str,c)))
알파벳 a~z 중에서 입력받은 단어가 어느 위치에 있는지 알아보는 문제이다. 만약 없다면 -1 을 출력하게 만들면 된다.
알파벳을 담은 변수 a를 하나씩 돌면서 입력 받은 단어와 일치하는 게 있으면 그 위치의 인덱스(index 내장 함수 활용)를 출력하고 그렇지 않으면 -1을 출력하면 되는 간단한 코드를 작성해보았다
여기서 주의할 점은 출력 예시를 보면 띄어쓰기를 기준으로 출력하고 있기 때문에 join 함수를 활용 해야 한다는 것이다.
그렇다면 join 함수만 사용하면 되는데 왜 map 함수를 사용하는 거지? 하고 궁금한 분들이 계실 것 같아 덧붙이자면, join 함수는 문자열만 받기 때문에 정수가 들어있는 c 리스트를 str(문자열) 형태로 변환한 후 출력해야 원하는 값을 출력하게 된다.
⭐️ 추가 사항 ⭐️
1) append : 파이썬 리스트에서 맨 뒤에 값을 추가하고자 할 때 사용하는 함수
아래 예시를 보면 쉽게 이해할 수 있다. a라는 리스트를 선언하고 append 함수를 사용해 리스트의 맨 끝에 값을 추가할 수 있다.
a=[]
a.append(1)
a.append(10000)
print(a)
결과) [1, 10000]
1-1) extend : 파이썬 리스트에서 맨 뒤에 값을 추가할 때 사용하는데 리스트 연결이 자연스럽다.
오늘 풀어본 문제에서는 다루지 않았지만 append의 개념을 설명할 때 늘 짝꿍처럼 등장하는 extend도 예제를 통해 가볍게 설명해보려 한다. 둘의 차이는 리스트에 리스트를 추가할 때 확연하게 나타난다.
결과값을 살펴보면 append는 추가할 리스트의 각 요소를 부자연스럽게 이어주는 것을 볼 수 있고, extend는 자연스럽게 이어주고 있음을 확인할 수 있다. append는 리스트 자체를 붙인다. extend는 각 요소를 자연스럽게 붙인다. 라고 이해하면 될 것 같다.
a=[1,2,3,4,5]
a.append([6,7])
b=[1,2,3,4,5]
b.extend([6,7])
print(a) # append 함수 결과 출력
print(b) # extend 함수 결과 출력
결과) [1, 2, 3, 4, 5, [6, 7]]
[1, 2, 3, 4, 5, 6, 7]
2) join : 리스트에 존재하는 개별 요소들을 특정 구분자를 통해 붙이거나 값을 합칠 때 주로 사용되는 함수이다.
파이썬 문제를 풀면서 은근 사용하지 않을 것 같으면서도 꽤나 많이 사용한 함수인 것 같다.
설명 그대로 각 리스트 요소들을 어떠한 조건으로 붙일 때 주로 사용한다. 예시로 설명을 해보겠다.
결과값을 보면 손쉽게 이해할 수 있을 것이다. join의 사용방법은 '구분자'.join(변형할 값) 형태로 작성하면 되고 이를 활용하면 반복문 없이도 띄어쓰기를 할 수 있는 등 다양한 형태로 출력할 수 있다.
a=['a','b','c']
print('*'.join(a)) # *로 구분
print(' '.join(a)) # 띄어쓰기로 구분
print('\n'.join(a)) # 줄바꿈으로 구분
결과) a*b*c
a b c
a
b
c
'CODING 💻' 카테고리의 다른 글
| 백준 10811번 - 바구니 뒤집기 (PYTHON 풀이) (with. reverse) (0) | 2025.03.04 |
|---|---|
| 백준 10810번 - 공 넣기 (PYTHON 풀이) (0) | 2025.03.03 |
| 백준 10807번 - 개수 세기 (PYTHON 풀이) (0) | 2025.03.02 |
| 백준 10172번 - 개 (PYTHON 풀이) (0) | 2025.03.02 |
| 백준 10171번 - 고양이 (PYTHON 풀이) (0) | 2025.03.02 |
