https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QLGxKAzQDFAUq

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

# 문제 정리

알파벳으로 이루어진 문자열을 입력받아 각 알파벳을 1부터 26까지의 숫자로 변환하여 출력

문자열의 최대 길이는 200

각 알파벳을 숫자로 변환한 결과값을 빈 칸을 두고 출력한다

 

 


# 문제 해결을 위한 개념

< ord >

1. ord() : 문자를 아스키코드로 변환

2. chr() : 아스키코드를 문자로 변환

 

 < 64를 빼는 이유 >

A가 1이 되려면 다음과 같은 식을 세우면 된다.

65 (A의 아스키코드) - 64(A가 1이 되기 위해 빼야 하는 수)

A = 65

B = 66

...

Z = 70

 

 

 

# 정답 코드

alpha = input()
for i in alpha:
    print(ord(i)-64, end=" ")
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QDEX6AqwDFAUq&categoryId=AV5QDEX6AqwDFAUq&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=2

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

# 문제 정리

1부터 주어진 횟수까지 2를 곲한 값을 출력

주어질 숫자는 30을 넘지 않는다

 

 


# 문제 해결을 위한 개념

 

< end =" " >

end = ""를 넣게 되면 바로옆에 붙여서 출력.

pritnt()함수가 출력된 후 추가할 문자를 지정

기본값은 개행문자(\n)로, 출력이 끝난 뒤 자동으로 줄바꿈이 이루어진다.

이 값을 수정하면 개행 대신 원하는 문자나 공백을 넣을 수 있다.

 

 

 


# 정답 코드

t=int(input())
for i in range(t):
    print((2**i), end=" ")
8
1 2 4 8 16 32 64 128

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QPsXKA2UDFAUq&categoryId=AV5QPsXKA2UDFAUq&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=2

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

# 문제 정리

중간값은 통계 집단의 수피를 크기 순으로 배열했을 때 전체의 중앙에 위치하는 수치를 뜻한다.

입력으로 N개의 점수가 주어졌을 때 중간값을 출력하기

 

 


# 문제 해결을 위한 개념

1.  .sort() 

기본적으로 제공되는 내장함수 중 하나이며 괄호 안에 오른차순, 내림차순으로 정렬할 수 있다.

매개변수(괄호)안에 값을 넣지 않으면 기본적으로 reverse=False 오름차순 정렬이다.

기존 데이터를 변경하는 방식으로 반환한다.

list = ["d", "c", "a", "b"]
list.sort()
print(list)  # 오름차순

list.sort(reverse=True)
print(list)  # 내림차순
['a', 'b', 'c', 'd']
['d', 'c', 'b', 'a']

 

 

2. list에 저장된 값을 가져오려면 a.[index] 식으로 적으면 된다. [ ]안에는 수식이 들어가도 된다.

 

 


# 정답 코드

N = int(input())
nums = list(map(int, input().split()))
nums.sort()
print(nums[N//2])

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QRnJqA5cDFAUq&categoryId=AV5QRnJqA5cDFAUq&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=2

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

# 문제 정리

10개의 수를 입력받아, 평균값을 출력하는 프로그램을 작성 

소수점 첫째자리에서 반올림한 정수를 출력

각 수는 0 이상 10000이하의 정수

가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 10개의 수가 주어진다.

출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.

 

 


# 문제 해결을 위한 개념

< 한 줄로 정수를 각각 입력하여 띄어쓰기를 기준으로 배열로 만들어주는 문법 >

num = list(map(int, input().split()))

 

 

< round () 함수 >

주어진 숫자를 지정한 소수점 자릿수에 맞춰 반올림하는 역할

n = round(3.142592, 2)
print(n)
3.14

 

 

< 산술 평균의 계산 >

avg()함수를 제외하고 모두 내장함수이다.

sum() 총합을 구함. 리스트의 값을 모두 더한다
min() 최소값을 구함. 리스트의 값 중에서 제일 작은 것을 리턴한다
max() 최대값을 구함. 리스트의 값 중에서 제일 큰 것을 리턴한다
avg() 평균값을 구함. (avg는 내장함수가 아니다)
len() 리스트의 갯수를 리턴한다.

 

list = [1, 2, 3, 4, 5]

print(sum(list))
print(max(list))
print(min(list))
print(len(list))

avg = sum(list) / len(list)
print(avg)
15
5
1
5
3.0

 

 

 

# 정답 코드

t = int(input())
for test_case in range(1, t+1):
    n = list(map(int, input().split()))
    result = round(sum(n) / len(n))
    print("#%d %d" % (test_case, result))

https://swexpertacademy.com/main/code/problem/problemDetail.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

# 문제 정리

2개의 수를 입력 받아 크기를 비교하여 등호 또는 부등호를 출력하는 프로그램 작성

각 수는 0이상 10000이하의 정수

가장 첫 줄에는 테스트 케이스의 개수 t가 주어지고, 그 아래로 각 테스트 케이스가 주어진다

각 테스트 케이스의 첫 번째 줄에는 2개의 수가 주어진다

출력의 각 줄은 #t 로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다

 

 


# 문제 해결을 위한 개념

< 서식 문자의 사용 >

코드 설명
%d 정수(10진수)
%f 실수(부동소수점)
%c 문자
%s 문자열
%O 8진수
%X 16진수
%% 문자 %

 

 


# 정답 코드

t = int(input())
for test_case in range (1, t+1):
    a, b = map(int, input().split())
    if a > b :
        x = ">"
    elif a == b:
        x = "="
    else:
        x = "<"
    print("#%d %s" % (test_case, x))

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QFuZ6As0DFAUq&categoryId=AV5QFuZ6As0DFAUq&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

# 문제 정리

주어진 텍스트를 그대로 출력

#++++
+#+++
++#++
+++#+
++++#

 

 

 


# 문제 해결을 위한 개념

 

1. 행에대한 for문과 열에 대한 for문

예를 들어 i = 1이고 j = 1이면 1행1열에 문자를 작성

 

 

2. end=""

print 특성 상 다음 줄로 넘어기기 때문에 (자동 개행) end=""를 사용해주는 것이 좋다.

for i in range(2):
    for j in range(2):
        print("+")
+
+
+
+

 

for i in range(2):
    for j in range(2):
        print("+", end="")
++++

 

 

3. print()

i에 들어가 있는 for문 안에서 개행을 해줄 필요가 있을 때, print()만 작성해주면 된다.

이때, print()의 위치를 잘 지정해주어야 한다.

 

 

 


# 정답 코드

print("#++++")
print("+#+++")
print("++#++")
print("+++#+")
print("++++#")

 

print(""""#++++
+#+++
++#++
+++#+
++++#""")

 

for i in range(5):
    for j in range(5):
        if i == j:
            print("#", end="")
        else:
            print("+", end="")
    print()

 

https://swexpertacademy.com/main/code/problem/problemDetail.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

# 문제 정리

주어진 숫자만큼 #을 출력

주어질 숫자는 100,000이하

 

 


# 문제 해결을 위한 개념

 

 


# 정답 코드

n = int(input())
print('#'*n)

https://swexpertacademy.com/main/code/problem/problemDetail.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

# 문제 정리

A와 B가 가위보를 하였다

가위는 1, 바위는 2, 보는 3으로 표현되며 A와 B가 무엇을 냈는지 입력으로 주어진다.

A와 B중에 누가 이겼는지 판별. 단 비기는 경우는 없음

A가 이기면 A, B가 이기면 B를 출력한다.

 

 


# 문제 해결을 위한 개념

 

 


# 정답 코드

a, b = map(int, input().split())
if a == 1 and b == 2:
    print("B")
elif a == 1 and b == 3:
    print("A")
elif a == 2 and b == 1:
    print("A")
elif a == 2 and b == 3:
    print("B")
elif a == 3 and b == 1:
    print("B")
else:
    print("A")

 

 

a, b = map(int, input().split())
if a == 1:
    if b == 2:
        print("B")
    else:
        print("A")
elif a == 2:
    if b == 1:
        print("A")
    else:
        print("B")
elif a == 3:
    if b == 1:
        print("B")
    else:
        print("A")

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QGNvKAtEDFAUq&categoryId=AV5QGNvKAtEDFAUq&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

# 문제 정리

2개의 수 a,b를 입력받아 a를 b로 나눈 몫과 나머지를 출력하는 프로그램 작성

각 수는 1이상 10000이하의 정수

가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다

각 테스트 케이스의 첫 번째 줄에는 2개의 수가 주어진다

 

 


# 문제 해결을 위한 개념

/는 나누기

// 는 몫

%는 나머지

 

 


# 정답 코드

t = int(input())
for test_case in range(1, t+1):
    a,b = map(int,input().split())
    print("#%d %d %d" % (test_case, a // b, a % b))

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QFZtaAscDFAUq&categoryId=AV5QFZtaAscDFAUq&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

# 문제 정리

1부터 주어진 숫자만큼 모두 더한 값을 출력.

주어질 숫자는 10000을 넘지 않는다.

 


# 문제 해결을 위한 개념

 

< 할당연산자 >

 

1. += 

a += b 는 a = a + b를 의미한다.

왼쪽 변수에 오른쪽 값을 더하고 그 결과를 왼쪽 변수에 할당한다.

 

2. -=

a -= b 는 a = a - b를 의미한다

왼쪽 변수에 오른쪽 값을 빼고 그 결과를 왼쪽 변수에 할당한다.

 

3. *=

a *= b 는 a = a * b를 의미한다.

왼쪽 변수에 오른쪽 값을 곱하고 그 결과를 왼쪽 변수에 할당한다.

 

4. /=

a /= b 는 a = a / b를 의미한다.

왼쪽 변수에 오른쪽 값을 나누고 그 결과를 왼쪽 변수에 할당한다

 

5. %=

a %= b 는 a = a % b 를 의미한다.

왼쪽 변수에 오른쪽 값을 나눈 후 그 나머지를 왼쪽 변수에 할당한다.

 

6. //=

a //= b 는 a = a // b 를 의미한다.

왼쪽 변수에 오른쪽 값을 나눈 후 그 몫을 왼쪽 변수에 할당한다.

 

7. **=

a **= b 는 a = a ** b 를 의미한다.

왼쪽 변수에 오른쪽 값을 제곱하고 그 결과를 왼쪽 변수에 할당한다.

 

 

 

# 정답 코드

n = int(input())
sum = 0
for i in range(1, n+1):
    sum += i
print(sum)
10
55

+ Recent posts