본문 바로가기

대외활동

패스트캠퍼스 Python 코딩테스트 강의 1주차

이번 강의에서는 백준 2920 문제와 2798번 문제를 학습하였다.

 

 

1. 2920 

2920번: 음계 (acmicpc.net)

 

2920번: 음계

다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8

www.acmicpc.net

이번 문제에서의 핵심은 2가지다.

1. 리스트에서의 원소를 차례대로 비교하는 것

2. 비교 시 원소의 오름차순과 내림차순 여부를 체크하는 것

 

이 두가지를 비교하며 오름차순과 내림차순의 값을 각각 False와 True를 사용하여 변경한다.

코드는 아래와 같다.

a = list(map(int, input().split()))
 
if a == sorted(a):
    print('ascending')
elif a == sorted(a, reverse=True):
    print('descending')
else:
    print('mixed')

 

 

2. 2798

2798번: 블랙잭 (acmicpc.net)

 

2798번: 블랙잭

첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장

www.acmicpc.net

이번 문제는 배열과 완전탐색을 활용하는 문제이다.

이번 문제에서의 핵심은

1. 카드 중 3개씩 뽑는 모든 경우의 수와 주어지는 카드의 최대 개수를 고려한다.

2. 3중 반복문을 사용하여 모든 경우의 수를 확인 가능하다.

이다.

 

코드는 아래와 같다.

n,m =list(map(int, input().split(' ')))
data = list(map(int, input().split(' ')))

rst=0
length=len(data)

cnt = 0

for i in range(0, length):
    for j in range(i+1, length):
        for k in range(j+1, length):
            sum = data[i] + data[j] + data[k]
            if sum <= m:
                rst = max(rst, sum)
    
print(rst)

 

 

 

패스트캠퍼스 온라인 강의 - 초격차 패키지 : 개발자 취업 합격 패스 With 코딩테스트, 기술면접 (fastcampus.co.kr)

 

 

패스트캠퍼스 온라인 강의 - 초격차 패키지 : 개발자 취업 합격 패스 With 코딩테스트, 기술면접

 

fastcampus.co.kr

 

*수강 인증샷

"본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다."

728x90