⚙️ 알고리즘/문제풀이

[Python] 백준 11720, 11365, 16171

dev_zoe 2025. 4. 6. 00:52
반응형

오늘은 Python으로 문자열 다루는 법을 익히기 위해 문자열 관련 문제를 풀었다.

문제출처: https://www.acmicpc.net/workbook/view/7276

1. 문제: https://www.acmicpc.net/problem/11720

✅ 풀이

import sys

input = sys.stdin.readline
n = int(input())
num = input().rstrip()

print(sum(list(map(int, num))))

 

💡 해당 문제를 통해 배운 문법/스킬

- map(int, str): 문자열의 문자를 하나하나 int로 매핑

- list(map ~~): 매핑한 결과를 배열화

2. 문제: https://www.acmicpc.net/problem/11365

✅ 풀이

import sys

input = sys.stdin.readline
words = input().rstrip()
while words != "END":
  print(words[::-1])
  words = input().rstrip()

 

💡 해당 문제를 통해 배운 문법

- list[::-1]: 문자열/배열 역순한 결과값 반환 (반환 값 없을 시, list.reverse())

3. 문제: https://www.acmicpc.net/problem/16171

✅ 풀이

words = input()
keyword = input()
words = "".join([w for w in words if w.isalpha()])

print(1 if keyword in words else 0)

 

💡 해당 문제를 통해 배운 문법

- isdigit() : 해당 character가 정수인지에 대한 bool 값

isalpha() : 해당 character가 문자인지에 대한 bool 값 (공백이 섞여있으면 false값 리턴)

isupper() : 해당 character가 대문자인지에 대한 bool 값

islower() : 해당 character가 소문자인지에 대한 bool 값

 

문자열 전체 대문자로 치환 : upper()

문자열 전체 소문자로 치환 : lower()

문자열 처음 대문자로 시작하도록 변환 : capitalize()

문자열 전체 소<->대문자로 치환 : swapcase()

 

- 배열 -> 문자열: "".join(배열)

- 문자열 -> 배열: list(str)

반응형