코딩 테스트 스터디/백준

[브론즈 II] 10809번. 알파벳 찾기

남쪽마을밤송이 2022. 1. 26. 18:07

 문제 

https://www.acmicpc.net/problem/10809

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

 사용 언어 

Python3

 제출 답안 

S = input()
alphabet = list(range(97, 123)) # 알파벳의 ASCII 코드 숫자 범위
for i in alphabet:
  print(S.find(chr(i)), end=' ')

 

 공부한 내용 

chr 함수

아스키코드에 해당하는 숫자를 문자열로 변환시키는 함수

find 함수

- 첫 번째 인자 : 찾을 문자열 혹은 찾을 문자

- 두 번째 인자(생략 가능) : 문자를 찾을 때 어디서부터 찾을지 시작 index, 생략시 0

- 세 번째 인자(생략 가능) : 문자를 찾을때 어디까지 찾을지 끝 index, 생략시 문자열 맨 마지막 index

 

찾는 문자가 존재한다면 해당 위치의 index를 반환해주고
찾는 문자가 존재하지 않는다면 -1 을 반환

만약에 찾는 문자나 문자열이 여러개 있다면 맨 처음 찾은 문자의 index를 반환

출처: https://blockdmask.tistory.com/569 

print() 함수 줄바꿈 제거

파이썬의 print() 함수는 기본적으로 강제 개행되어 출력됨,

실제 코드는 print("~~~", end='\n') 이런 식으로 되어 있음

 

따라서 줄바꿈 없이 그대로 출력하고 싶거나 끝에 특정 문자를 추가하고 싶은 경우 end=''를 수정해주면 됨

list = ['a', 'b', 'c']
for i in list:
    print(i, end='') # 이어서 출력 | abc
    print(i, end=' ') # 공백을 넣어 출력 | a b c

 

출처: https://angelplayer.tistory.com/106