본문 바로가기
Baekjoon

[문자열] 파이썬으로 해결하기

by ★☁︎♣︎♥︎ 2022. 4. 15.
728x90
반응형
안녕하세요! CodingLog의 우동이입니다.
이번 시간에는 파이썬으로 백준 공부하기입니다.

단계 문제 번호 제목 티어
1 11654 아스키 코드 Bronze 5
2 11720 숫자의 합 Bronze 2
3 10809 알파벳 찾기 Bronze 2

11654.

알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키코드값을 출력하는 프로그램입니다.

문자 10진수 문자 10진수
A 65 a 97
B 66 b 98
C 67 c 99
D 68 d 100
E 69 e 101
F 70 f 102
G 71 g 103
H 72 h 104
I 73 i 105
J 74 j 106
K 75 k 107
L 76 l 108
M 77 m 109
N 78 n 110
O 79 o 111
P 80 p 112
Q 81 q 113
R 82 r 114
S 83 s 115
T 84 t 116
U 85 u 117
V 86 v 118
W 87 w 119
Z 88 x 120
Y 89 y 121
Z 90 z 122
0 48 1 49
2 50 3 51
4 52 5 53
6 54 7 55
8 56 9 57

문자를 입력받으면 문자를 아스키코드 값을 출력하면 되는데 파이썬에는 아주 좋은 ord라는 함수를 사용하면 됩니다.

ord()는 문자를 아스키코드값으로 변환해주는 함수입니다.

# 아스키 코드
print(ord(input()))

11720.

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램입니다.

입력을 받을 때 리스트로 받아주면 한 개씩 나눠주기 때문에 리스트로 만들어줍니다.

그리고 기본 내장 함수인 sum()을 사용해서 리스트를 더 해주면 됩니다.

# 숫자의 합

n = int(input());

m = list(map(int,input()));

print(sum(m))

10809.

소문자로 이루어진 문자를 단어가 있는 경우에 몇 번째 자릿수에 있는지 출력한다 만약에 없다면 -1을 출력하면 됩니다.

# 알파벳 찾기

S = list(map(str,input()))
S_data = [-1]*26;
for i in range(len(S)):
    if S_data[ord(S[i])-97] == -1:
        S_data[ord(S[i])-97] = i;
for i in range(len(S_data)):
    print(S_data[i], end=' ')
728x90
반응형

댓글