코딩테스트

하루 코테 3개 풀기 - 11일 차

songsua 2024. 12. 19. 21:40

오늘은 해시 문법을 풀어보자

 

1. 폰켓몬 
https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=python3

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

def solution(nums):
    k = {}
    count = len(nums) / 2
    for num in nums :
        if num in k :
            k[num] += 1
        else :
            k[num] =  1 
    if count >= len(k) :
        answer = len(k)
    else : 
        answer = count
    return answer

 

 

2. 사탕문제

https://www.acmicpc.net/problem/14568

n = int(input("사탕 개수 N을 입력하세요: "))
count = 0

# 택희가 받는 사탕 (짝수만 가능)
for i in range(2, n, 2):
    # 영훈이 받는 사탕 (최소 1개)
    for j in range(1, n - i):
        # 남규가 받는 사탕
        p = n - i - j
        # 조건: 남규는 영훈보다 최소 2개 이상 많아야 하며, 남규와 영훈 모두 0개가 아니어야 함
        if p > j + 1 and p > 0:
            count += 1

print(f"총 경우의 수: {count}")

 

 

 

3. 연속합
https://www.acmicpc.net/problem/1912

n = int(input())
arr = list(map(int, input().split()))

sum = [0] * (n + 1)
for i in range(n) :
    sum[i+1] = max(sum[i] + arr[i], arr[i])
  
print(max(sum))