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

[JUNGOL 함수1]:571~174

토토모에요 2021. 8. 12. 11:11
728x90
반응형

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

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

571

문제: 문자열 "~!@#$^&*()_+|" 를 출력하는 함수를 작성하고 정수를 입력받아 입력받은 수만큼 함수를 호출하는 프로그램을 작성하시오.                        
* 주의 : 문자열을 잘 확인하세요. ('%'이 없음)
* 문자열을 복사해서 출력해도 됩니다.

입력 예

3

출력 예

~!@#$^&*()_+|
~!@#$^&*()_+|
~!@#$^&*()_+|

code

def fun(a):
    for i in range(1,a+1):
        print("~!@#$^&*()_+|")

a=int(input())
fun(a)

572

문제: 반지름의 길이를 전달받아 넓이를 출력하는 함수를 작성하고 반지름의 길이를 입력받아 함수를 호출하여 넓이를 출력하는 프로그램을 작성하시오.
단, 원주율(π)은 3.14로 하고 반올림하여 소수 둘째자리까지 출력한다. 
원의 넓이 = 반지름(r) * 반지름(r)​ * 원주율(π)​이다.

입력 예

10

출력 예

314.00

code

def area(a):
    print("%.2f"%(a*a*3.14))

a=int(input())
area(a)

573

문제: 100 미만의 정수만 입력된다. 정수 n을 입력받아 n x n 크기의 숫자사각형을 출력하는 프로그램을 작성하시오.
이때 정수 n을 전달받아 숫자 정사각형을 출력하는 함수를 작성하고, 입력받은 정수 n을 함수로 전달하여 출력한다.

입력 예

4

출력 예

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

code

def fun(a):
   count=1
   for i in range(1,a+1):
       for j in range(1,a+1):
           print(count,end=' ')
           count+=1

       print("")

a=int(input())
fun(a)

574 Accepted(80)

문제: 세 개의 정수를 전달받아 최대값을 구하여 리턴하는 함수를 작성하고, 세 정수를 입력받아 최대값을 출력하는 프로그램을 작성하시오.

입력 예

-10 115 33

출력 예

115

code

def fun(a,b,c):
    if a>b and a>c:
        print(a)
    elif b>a and b>c:
        print(b)
    elif c>a and c>b:
        print(c)
    else:
        print("같습니다.")


a,b,c=map(int,input().split())
fun(a,b,c)

575

문제: 10 이하의 두 정수가 주어진다.
이를 입력 받아서 첫 번째 수를 두 번째 수만큼 거듭제곱하여 나온 값을 리턴하는 함수를 작성하여 
다음과 같이 출력하는 프로그램을 작성하시오.

입력 예

2 10

출력 예

1024

code

def fun(a,b):
    return a**b


a,b=map(int,input().split())
print(fun(a,b))

576

문제: 정수의 연산식을 입력받아 연산을 위한 함수를 호출하여 4칙연산(+ - * /)의 연산결과를 출력하는 프로그램을 작성하시오.
('/'의 경우는 정수 부분만 출력하고 4칙연산 이외의 연산 결과는 0으로 한다.)
( if_else 문으로 작성하세요.)

입력 예

10 + 20

출력 예

10 + 20 = 30

code

def fun(a,b,c):
    a=int(a)
    c=int(c)
    if b=="+":
          print("%d %s %d = %d"%(a,b,c,a+c))
    elif b=="-":
          print("%d %s %d = %d"%(a,b,c,a-c))
    elif b=="*":
          print("%d %s %d = %d"%(a,b,c,a*c))
    elif b=="/":
          print("%d %s %d = %d"%(a,b,c,a//c))
    else:
          print("%d %s %d = %d"%(a,b,c,0))



a,b,c=map(str,input().split())
fun(a,b,c)

577

문제: 서로 다른 두 개의 정수가 주어진다.
두 정수를 입력받아 큰 수는 2로 나눈 몫을 저장하고 작은 수는 2를 곱하여 저장한 후 출력하는 프로그램을 작성하시오.
(참조에 의한 호출을 이용한 함수를 작성하여 값을 수정하고 출력은 메인함수에서 한다.)

입력 예

100 500

출력 예

200 250

code

def fun(a,b):
    if a>b:
        print("%d %d"%(a//2,b*2))
    elif a<b:
        print("%d %d"%(a*2,b//2))



a,b=map(int,input().split())
fun(a,b)

578 Accepted(60)

문제: 10 이하의 두 개의 양의 정수를 입력받아서 작은 수부터 큰 수까지의 구구단을 차례대로 출력하는 프로그램을 구조화하여 작성하시오.

입력 예

3 5

출력 예

== 3dan ==
3 * 1 =  3
3 * 2 =  6
3 * 3 =  9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27

== 4dan ==
4 * 1 =  4
4 * 2 =  8
4 * 3 = 12
 … 
5 * 8 = 40 
5 * 9 = 45

code

def fun(a,b):
    for i in range(a,b+1):
        print("== %ddan =="%i)

        for j in range(1,10):

            if (i*j)>=10 and (i*j)<100:
                print("%d * %d = %d"%(i,j,i*j))
            else:
                print("%d * %d =  %d"%(i,j,i*j))
        print()


a,b=map(int,input().split())
fun(a,b)

170

문제: ‘@’문자를 10개 출력하는 함수를 작성 한 후 함수를 세 번 호출하여 아래와 같이 출력하는 프로그램을 작성하시오.

출력 예

first
@@@@@@@@@@
second
@@@@@@@@@@
third
@@@@@@@@@@

code

def fun():
    print("first\n%s"%(10*"@"))
    print("second\n%s"%(10*"@"))
    print("third\n%s"%(10*"@"))


fun()

171

문제: 1부터 전달받은 수까지의 합을 출력하는 함수를 작성하고 1000 이하의 자연수를 입력받아 작성한 함수로 전달하여 출력하는 프로그램을 작성하시오.

입력 예

100

출력 예

5050

code

def su(a):
    count=0
    for i in range(1,a+1):
        count+=i
    print(count)

a=int(input())
su(a)

172

문제: 자연수를 입력받아 아래와 같은 사각형을 출력하는 프로그램을 작성하시오.
주어지는 수는 100이하의 자연수이다.
(함수를 작성하시오.)

입력 예

3

출력 예

1 2 3
2 4 6
3 6 9

code

def fun(a):
    for i in range(1,a+1):
        print(i,end=" ")
        for j in range(2,a+1):
            print(i*j,end=" ")
        print()


a=int(input())
fun(a)

173

문제: 두 개의 음이 아닌 정수를 입력받아 큰 수의 제곱에서 작은 수의 제곱을 뺀 결과값을 
출력하는 프로그램을 작성하시오.
(두 정수를 전달받아 제곱의 차를 리턴하는 함수를 이용할 것)

입력 예

8 10

출력 예

36

code

def fun(a,b):
    if a>b:
        print(a**2-b**2)
    elif a<b:
        print(b**2-a**2)


a,b=map(int,input().split())
fun(a,b)

174

문제: 3명 학생의 3과목 점수를 입력받아 각 과목별 학생별 총점을 출력하는 구조화된 프로그램을 작성하시오.

입력 예

50 80 100
96 88 66
100 85 90

출력 예

50 80 100 230
96 88 66 250
100 85 90 275
246 253 256 755

code

def fun(a,b,c):
    count_a=0
    count_b=0
    count_c=0
    for i in range(1,4):
        a,b,c=list(map(int,input().split()))
        print("%d %d %d %d"%(a,b,c,a+b+c))
        count_a+=a
        count_b+=b
        count_c+=c
    print("%d %d %d %d"%(count_a,count_b,count_c,count_a+count_b+count_c))   
    print()


a=int()
b=int()
c=int()
fun(a,b,c)
반응형

'Programming > JUNGOL : 정보올림피아드&알고리즘' 카테고리의 다른 글

[JUNGOL 함수3]:587~232  (0) 2021.08.14
[JUNGOL 함수2]:579~181  (0) 2021.08.13
[JUNGOL 배열2]:564~169  (0) 2021.08.11
[JUNGOL 배열1]:555~159  (0) 2021.08.10
[JUNGOL 반복제어문3]:549~149  (0) 2021.08.09