본문 바로가기

Python 카테고리

CodeUp 1021~1030(★☆☆☆☆)

문제 1021

 

출력

입력된 단어를 그대로 출력한다.

 

입력

한 단어가 입력된다.(단, 단어의 길이는 50자 이하이다.)

문자를 50개 저장하기 위해서는 char data[51] 로 선언하면 된다.

char data[51]="";
scanf("%s", data);

를 실행하면, data[51] 에 한 단어가 저장된다.

 

입력 예시  

Informatics

 

출력 예시

Informatics

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test = input()
    print(test)

 

문제 1022

 

출력

입력된 문장을 그대로 출력한다.

 

입력

공백이 포함되어 있는 한 문장이 입력된다.
단, 입력되는 문장은 여러 개의 단어로 구성되고, 엔터로 끝나며,
최대 길이는 2000 문자를 넘지 않는다.

 

입력 예시

Programming is very fun!!

 

출력 예시

Programming is very fun!!

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test = input()
    print(test)

 

문제 1023

 

출력

첫 번째 줄에 정수 부분을, 두 번째 줄에 실수 부분을 출력한다.

 

입력

실수 1개가 입력된다.
(단, 입력값은 절댓값이 10000을 넘지 않으며, 소수점 이하 자릿수는 최대 6자리까지이고
0이 아닌 숫자로 시작한다.)

 

입력 예시

1.414213

 

출력 예시

1

414213

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test1, test2 = input().split('.')
    print(test1+"\n"+test2)

 

문제 1024

 

출력

단어의 문자(영어)를 하나씩 나누어 한 줄에 한 개씩
' '로 묶어서 출력한다.

 

입력

단어(영어) 하나를 입력받는다.
(단, 단어의 길이는 20자 이하이다.)

 

입력 예시

Boy

 

출력 예시

'B'

'o'

'y'

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test = input()
    testLi = list(test)
    for i in range(len(testLi)):
        print("\'"+testLi[i]+"\'")

 

문제 1025

 

출력

각 자리의 숫자를 분리해 한 줄에 하나씩 [ ]속에 넣어 출력한다.

 

입력

다섯 자리로 이루어진 1개의 정수를 입력받는다.
(단, 10,000 <= 입력받는 수 <= 99,999 )

 

입력 예시

75254

 

출력 예시

[70000]

[5000]

[200]

[50]

[4]

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test = int(input())
    var = 10000
    for i in range(0, 5):
        a, b = divmod(test, var)
        main = a * var
        print("["+str(main).replace(".0", "")+"]")
        test = test - main
        var = var / 10

문제 1026

 

출력

분만 출력한다. 

 

입력

시 분 초가
시:분:초 형식으로 입력된다. 

 

입력 예시

17:23:57

 

출력 예시

23

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test1, test2, test3 = input().split(":")
    if test2 == "00":
        test2 = 0
        print(test2)
    else:
        print(test2)

 

문제 1027

 

출력

년월일을 일월년으로 바꾸어 '-'(대쉬, 마이너스)로 구분해 출력한다. 

 

입력

년월일이 '.'(닷)으로 구분되어 입력된다. 

 

입력 예시

2014.07.15

 

출력 예시

15-07-2014

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test1, test2, test3 = input().split(".")
    print(test3 + "-" + test2 + "-" + test1)

 

문제 1028

 

출력

입력된 정수를 그대로 출력한다. 

 

입력

정수 1개가 입력된다.
(단, 입력되는 정수의 범위는 0 ~ 4294967295 이다.) 

 

입력 예시

2147483648

 

출력 예시

2147483648

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test = input()
    print(test)

 

문제 1029 [1]

 

출력

입력된 실수를 소수점 이하 11자리까지 반올림하여 출력한다. 

참고
%.11lf 를 사용하면 소수점 이하 11자리까지 출력된다. 

 

입력

소수점 아래 숫자가 11개 이하인 실수 1개가 입력된다.
(단, 입력되는 실수의 범위는 +- 1.7*10-308 ~ +- 1.7*10308 이다.) 

 

입력 예시

3.14159265359

 

출력 예시

3.14159265359

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test1, test2 = input().split(".")
    for i in range(len(test2), 12):
        if len(test2) != 11:
            test2 = test2 + "0"
        else:
            print(test1+"."+test2)

 

문제 1030

 

출력

입력된 정수를 그대로 출력한다.

 

입력

정수 1개가 입력된다.
단, 입력되는 정수의 범위는 -9223372036854775808 ~ +9223372036854775807 이다.

 

입력 예시

-2147483649

 

출력 예시

-2147483649

import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
if __name__ == '__main__':
    test = input()
    print(test)

[1] 코드 최적화 하려고합니다.

 

이번에도 코드중복이 많았는데 이번에는 for문, len()함수를 이용하여 풀은 문제들이 많았습니다.