Programming/JUNGOL : 정보올림피아드&알고리즘

[JUNGOL 문자열1]:593~188

토토모에요 2021. 8. 15. 13:54
728x90
반응형

JUNGOL 정보올림피아드&알고리즘에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다.

http://www.jungol.co.kr/

593

문제: 33부터 127 까지의 숫자를 계속 입력받아 입력받은 숫자의 아스키코드에 해당하는 문자를 출력하다가 범위를 벗어나는 입력이 들어오면 종료하는 프로그램을 작성하시오.

입출력 예

ASCII code =? 66
B
ASCII code =? 122
z
ASCII code =? 0

code

while True:
    a=int(input("ASCII code =? "))
    if a>=33 and a<=127:
        print(chr(a))
    else:
        break

594

문제: 문자열을 입력받은 뒤 그 문자열을 이어서 두 번 출력하는 프로그램을 작성하시오.
문자열의 길이는 100이하이다.

입력 예

ASDFG

출력 예

ASDFGASDFG

code

a=input()
print(a*2)

595

문제: 문자열을 “Hong Gil Dong”으로 초기화 한 후 3번부터 6번까지의 문자를 차례로 출력하시오.

출력 예

g Gi

code

a="Hong Gil Dong"
list(a)
print(a[3:7])

596

문제: 문자열을 입력받고 정수를 입력 받아서 문자열의 맨 뒤부터 정수만큼 출력하는 프로그램을 작성하시오.
만약 입력받은 정수가 문자열의 길이보다 크다면 맨 뒤부터 맨 처음까지 모두 출력한다.
(문자열 길이는 최대 100자 이하이다. )

입력 예

korea 3

출력 예

aer

code

a=list(map(str,input().split()))

if len(a[0])<=int(a[1]):
    print(a[0][::-1])
else:
    print(a[0][:len(a[0])-int(a[1])-1:-1])

597 Wrong Answer(0)

문제: 두 개의 문자열을 입력받아서 두 문자열의 길이의 합을 출력하는 프로그램을 작성하시오.
각 문자열의 길이는 20자 미만이다.

입력 예

Korean
English

출력 예

13

code

a=str(input())
b=str(input())
if len(a)<20 and len(b)<20:
    print(len(a+b))

598

문제: 문자를 입력받아 알파벳 문자인 경우에는 그대로 출력하고 숫자인 경우는 아스키코드값을 출력하는 작업을 반복하다가 기타의 문자가 입력되면 종료하는 프로그램을 작성하시오. 
* 입출력예에서 비스듬한글씨가 출력

입출력 예

A
#A
1
#49
@

code

while True:
    a=input()
    if a.isalpha()==True:
        print(a)

    elif a.isalpha()==False:
        if a.isdigit()==True:
            print(ord(a))
        else:
            break
    else:
        break

599 Accepted(20)

문제: 문자열을 입력받아 알파벳 문자만 모두 대문자로 출력하는 프로그램을 작성하시오.
문자열의 길이는 100이하이다.

입력 예

1988-Seoul-Olympic!!!

출력 예

SEOULOLYMPIC

code

a=input()
b=a.split("-")
print(b[1].upper()+b[2][:7].upper())

600

문제: 공백을 포함한 100글자 이하의 문자열을 입력받아 문장을 이루는 단어의 개수를 출력하는 프로그램을 작성하시오.
* 문장입력 할 때 gets()함수 대신 fgets() 함수를 사용하세요. C++14 적용!​

입력 예

My name is Kimchulsoo

출력 예

4

code

a=list(map(str,input().split()))
print(len(a))

601

문제: 문자열을 입력 받아서 문자수만큼 오른쪽으로 한 바퀴 회전하여 출력하는 프로그램을 작성하시오. 문자열의 길이는 100이하이다.

입력 예

PROGRAM

출력 예

MPROGRA
AMPROGR
RAMPROG
GRAMPRO
OGRAMPR
ROGRAMP
PROGRAM

code

a=input()
b=list(a)
for i in range(1,len(b)+1):
    tmp=b[len(b)-1]
    for j in range(len(b)-1,0,-1):
        b[j]=b[j-1]
    b[0]=tmp

    for k in range(0,len(b)):
        print(b[k],end="")
    print()

182

문제: 영문자 두 개를 입력 받아서 각각의 아스키코드의 합과 차를 출력하는 프로그램을 작성하시오.

입력 예

A a

출력 예

162 32

code

a=list(map(str,input().split()))
print("{} {}".format(ord(a[0])+ord(a[1]),abs(ord(a[0])-ord(a[1]))))

183

문제: 5개 이상 100개 이하의 문자로 된 단어를 입력받은 후 앞에서부터 5자를 출력하는 프로그램을 작성하시오.

입력 예

AbCdEFG

출력 예

AbCdE

code

a=input()
b=list(a)

print(*b[:5],sep="")

184

문제: 100개 이하의 문자열을 입력받아서 영문자와 숫자만 출력하되 영문자는 모두 소문자로 출력하는 프로그램을 작성하시오.

입력 예

Hancom1234@cqclass.com

출력 예

hancom1234cqclasscom

code

a=input()
b=list(a)
c=[]
for i in b:
    if i.isalpha()==True or i.isdigit()==True:
        c.append(i)

for j in c:
    print(j.lower(),end="")

185

문제: 단어와 문자 한 개를 입력받아서 단어에서 입력받은 문자와 같은 문자를 찾아서 그 위치를 출력하는 프로그램을 작성하시오.
단어에서 첫 번째 문자의 위치는 0으로 하고 찾는 문자가 여러 개일 때는 처음 나오는 위치를 출력한다.
만약 찾는 문자가 없을 때는 "No"라고 출력한다. 대소문자는 구별되며 단어는 100자 이하이다.

입력 예

Jungol.co.kr o

출력 예

4

code

a=list(map(str,input().split()))

if a[1] in a[0]:
    print(a[0].index(a[1]))
else:
    print("No")

186

문제: 두 개의 단어를 입력받아서 길이가 긴 단어의 문자 개수를 출력하는 프로그램을 작성하시오.
단어의 길이는 100자 이하다.

입력 예

excel powerpoint

출력 예

10

code

a=list(map(str,input().split()))

if len(a[0])>len(a[1]):
    print(len(a[0]))
elif len(a[1])>len(a[0]):
    print(len(a[1]))
else:
    print(len(a[0]))

187 Wrong Answer(0)

문제: 문자열(100자 이하)을 입력받은 후 정수를 입력받아 해당위치의 문자를 제거하고 출력하는 작업을 반복하다가 문자 1개가 남으면 종료하는 프로그램을 작성하시오.
첫 번째 문자의 위치는 1이며 만약 입력받은 번호가 문자열의 길이 이상이면 마지막 문자를 제거한다.
* 입출력예에서 진한글씨가 출력

입출력 예

word
3
wod
1
od
10
o

code

a=input()
while True:    
    b=int(input())
    c=a.replace(a[b-1],"")
    if len(c)<=1:
        break
    else:
        print(c)

188

공백을 포함한 문자열을 입력받아 다음과 같이 분리하여 번호와 함께 출력하는 프로그램을 작성하시오.
문자열의 길이는 100자 이하이다.
* 문장 입력할 때 gets()함수 대신 fgets() 함수를 사용하세요. C++14 적용!

입력 예

My name is Kimchulsoo

출력 예

1. My
2. name
3. is
4. Kimchulsoo

code

a=list(map(str,input().split()))
for i in range(1,len(a)+1):
    print("%d. %s"%(i,a[i-1]))
반응형