" content="[백준 단계별 문제] 5단계: 문자열 (1) :: IT 복수전공 일기장" />

카테고리 없음

[백준 단계별 문제] 5단계: 문자열 (1)

뱌재데 2024. 6. 14. 23:01
728x90

 

27866. 문자와 문자열

백준 27866번 예제 입출력

 

str = input()
i = int(input())
print(str[i-1])
 

 

 

 

 

 

2743. 단어 길이 재기

알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오.

 

str = input()
print(len(str))
 

 

 

 

 

 

9086. 문자열

문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.

 

 n = int(input())
for i in range(0,n):
    str = input()
    print(str[0]+str[-1])
    
 

 

 

 

 

 

 

 

11654. 아스키 코드

 

char = input()
print(ord(char))
 

# 파이썬의 아스키코드<->문자 변환

https://lsjsj92.tistory.com/201

파이썬 문자를 아스키로, 아스키 코드를 문자로

파이썬에서 문자를 아스키 코드로, 아스키 코드를 문자로 변경하는 것은 매우 간단합니다 ord(문자) : 아스키 코드를 반환해준다 chr(숫자) : 숫자에 맞는 아스키 코드를 반환한다 위처럼 진행하면 아래와 같이 나오게 됩니다 정말 간단합니다. 아래는 아스키 코드표입니다 참고하세요~

 

 

 

 

 

 

 

 

11720. 숫자의 합

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

 

n = int(input())
char = input()
result = 0
for i in range(0,n):
    result += int(char[i])
print(result)
 

 

 

 

 

 

 

 

10809. 알파벳 찾기

알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.

 

 

 

내가 짠 코드

str = input()
result = [-1] * 26

for i in range(0,26):
    ask = i+97
    for j in str:
        if chr(ask) == j:
            result[i] = str.index(j)

for i in range(0,26):
    print(result[i], end=" ")       
 

 

GPT-4가 더 간결하게 정리한 코드

string = input()
result = [-1] * 26

for idx, char in enumerate(string):
    if result[ord(char) - ord('a')] == -1:
       result[ord(char) - ord('a')] = idx

# 결과 출력: 각 결과를 공백으로 구분해 출력
print(*result)
 

# 반복문의 범위

https://wikidocs.net/16045

19. for in 반복문, Range, enumerate

 

 

 

 

 

 

 

 

 

2675. 문자열 반복

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.

 

t = int(input())
for i in range(0,t):
    n, str = input().split()
    n = int(n)
    for j in range(0,len(str)):
        print(str[j]*n, end="")
    print()
 

 

 

 

 

 

 

 

1152. 단어의 개수

영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.

 

str = list(input().split())
print(len(str))
 

 

 

 

 

 

 

 

 

2908. 상수

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.

상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.

두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.

 

 

내가 작성한 코드: 그냥 노가다

a, b = map(list,input().split())
a.reverse()
b.reverse()
a_stu = ''.join(a)
b_stu = ''.join(b)
a = int(a_stu)
b = int(b_stu)
if a>b:
    print(a)
else:
    print(b)
 

 

GTP-4가 작성해준 코드

a, b = input().split()

# 거꾸로 읽어서 숫자를 만들어 비교
if int(a[::-1]) > int(b[::-1]):
    print(a[::-1])
else:
    print(b[::-1])
 

# 파이썬 문자열 뒤집기 방법

https://blockdmask.tistory.com/581

[python] 파이썬 문자열 뒤집기, 거꾸로 출력 하기 3가지 방법

안녕하세요. BlockDMask입니다. 오늘은 파이썬에서 문자열을 뒤집을 수 있는 세 가지 방법에 대해서 알아보려고 합니다. 문자열을 뒤집어서 출력한다거나, 기존 문자열을 거꾸로 돌려서 뒤에서부터 차례대로 위치시켜야 하는 경우에 이 방법들을 사용하면 될 것 같습니다. 1. 문자열 뒤집기 for 문 2. 문자열 뒤집기 reverse 3. 문자열 뒤집기 [::-1] 1. 반복문을 통해서 파이썬 문자열 뒤집기 for 반복문을 통해서 기존 문자열을 돌면서 작업해줄 수 있습니다. 기존 문자열의 문자들을 앞에서부터 하나씩 가지고 오면서 뒤집을...