21/01/29

3299 단어 백준파이썬백준

백준 단계별 문제풀이 <문자열>

11654 아스키 코드

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

  • 입력
    알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.

  • 출력
    입력으로 주어진 글자의 아스키 코드 값을 출력한다.

  • 코드

print(ord(input()))
  • 아스키코드 변환하기
    ord() : 문자의 아스키 코드값을 리턴하는 함수이다.
    chr() : 아스키 코드값 입력으로 받아 그 코드에 해당하는 문자를 출력하는 함수이다.

11720 숫자의 합

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

  • 입력
    첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

  • 출력
    입력으로 주어진 숫자 N개의 합을 출력한다.

  • 코드

n=int(input())
a=list(map(int, input()))

print(sum(a))
  • 런타임 에러 엄청 많이 떴다 ㅋㅋㅠ 간단하게 생각하면 되는데 반복문 쓰려고 했다가 오류가,,

10809 알파벳 찾기

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

  • 입력
    첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.

  • 출력
    각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.

    만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.

  • 코드

S = input()
for i in range(97, 122+1):
    print(S.find(chr(i)), end=" ")
  • 문자열에서 특정 문자 위치 찾는 방법
    : "문자열".find("문자")
  • 해결하지 못한 문제

2675 문자열 반복

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

    QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./: 이다.

  • 입력
    첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.

  • 출력
    각 테스트 케이스에 대해 P를 출력한다.

  • 코드

t=int(input())

for i in range(t):
    result=[]
    r,s=input().split()
    r=int(r)

    for j in range(len(s)):
        result+= s[j]*r
    print("".join(result))
  • join 함수
    : 특정 구분자를 포함해 문자열(string)으로 변환
    : split에 반대되는 함수
    : "(구분자)".join()

1157 단어 공부

해결하지 못한 문제
  • 문제
    알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

  • 입력
    첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.

  • 출력
    첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.

  • 코드

word=input().upper() # 입력받은 거 모두 대문자로 (MISSISSIPI)
word_list=list(set(word)) # set함수 이용해 중복값 없애서 리스트 [M,I,S,P]
a=[]

for i in word_list:
    count = word.count(i) # 중복된 값 몇 개 있는지 세기
    a.append(count) # a=[4,4,1,1]

if a.count(max(a)) >= 2:
    print("?")

else:
    print(word_list[

좋은 웹페이지 즐겨찾기