2025/03/23 5

(매일 BOJ) Python 1978번 소수 찾기

📦 문제 요약정수 N개가 주어지고,그중에서 **소수(prime number)**가 몇 개인지 세는 문제야소수: 1과 자기 자신만으로 나누어지는 수 (1은 소수가 아님!)💡 아이디어 (접근법만!)N개의 수를 하나씩 보면서,각 수가 소수인지 판별해야 함소수 판별할 땐 2부터 √n까지 나눠보는 방식 사용→ 더 빠르고 효율적!N = int(input())num = list(map(int,input().split()))count = 0for i in num:    for o in range(2,i+1):        if i % o == 0:            if i == o:                count += 1            breakprint(count)

매일 BOJ 2025.03.23

(매일 BOJ) Python 30802번 웰컴 키트

📦 문제 요약참가자 수 N명티셔츠는 6가지 사이즈별로 개수가 주어지고, 티셔츠는 T장씩 한 묶음으로만 주문 가능펜은 P자루씩 한 묶음으로 주문할 수 있고, 나머지는 낱개로 주문출력은:티셔츠를 모든 사람에게 맞춰서 줄 수 있도록 하려면 최소 몇 묶음이 필요한지펜은 묶음으로 최대 몇 개, 그리고 몇 개는 낱개로 사야 하는지💡 아이디어 (접근법만!)티셔츠: 각 사이즈마다 필요한 수를 T로 나눔(필요한 수 + T - 1) // T 공식 사용하면 부족하지 않게 묶음 계산 가능펜: 전체 인원 N을 P로 나누면몫 = 묶음 수나머지 = 낱개로 주문해야 하는 수🚨 팁입력이 많진 않지만, sys.stdin.readline() 쓰면 더 안전반복문 대신 나눗셈으로 계산하면 시간 초과 안 남출력 형식 주의:첫 줄: 티셔츠..

매일 BOJ 2025.03.23

(매일 BOJ) Python 4153번 직각삼각형

📐 문제 요약세 개의 양의 정수 a, b, c가 주어질 때,이게 직각삼각형의 세 변일 수 있는지 판단하는 문제야.입력은 여러 줄로 주어지고,0 0 0이 들어오면 입력이 끝남.각 줄에 대해 결과를 right 또는 wrong으로 출력하면 됨.💡 아이디어 (접근법만!)직각삼각형은 피타고라스 정리 a² + b² = c²를 만족해야 해.단, 어떤 변이 가장 긴 변인지 항상 보장되지 않으니까, 먼저 **세 변 중 가장 큰 걸 찾아서 그것을 빗변(c)**으로 보고 체크해야 해.즉, 입력받은 수들을 정렬한 다음, x² + y² == z² 인지 확인하면 됨.while True:    a,b,c = map(int, input().split())    if a == 0:        break    elif a > b ..

매일 BOJ 2025.03.23

(매일 BOJ) Python 1157번 단어 공부

📖 문제 요약단어 하나가 입력됨 (대소문자 섞여 있을 수 있음)**가장 많이 사용된 알파벳(대소문자 구분 X)**을 출력만약 여러 개라면 ? 출력💡 아이디어 (접근법만!)먼저 모든 문자를 대문자 or 소문자로 통일각 알파벳이 몇 번 나왔는지 세기딕셔너리, 리스트, collections.Counter 등 다양하게 가능가장 많이 나온 횟수를 찾고그 횟수가 중복이면 ?, 아니면 그 알파벳 출력 text = input().lower()text_list = list(set(text))count = []for i in text_list:    count1 = text.count(i)    count.append(count1)if count.count(max(count)) >= 2:    print("?")els..

매일 BOJ 2025.03.23

(매일 BOJ) Python 11650 좌표 정렬하기

📌 문제 요약2차원 좌표 (x, y)가 N개 주어짐 (N ≤ 100,000)이 좌표들을 x 오름차순,그리고 x가 같으면 y 오름차순으로 정렬해서 출력해야 함💡 아이디어 (접근법만!)파이썬의 sort() 또는 sorted() 함수는튜플 정렬에서 자동으로 첫 번째 기준 → 두 번째 기준 순서대로 정렬해줌.예: [(1, 2), (1, 1), (2, 1)] → 자동으로 (1, 1), (1, 2), (2, 1)로 정렬됨그래서 입력을 전부 (x, y) 튜플로 저장하고, 그냥 sort() 한 번만 해주면 끝!n = int(input())xy = []for i in range (n):    dot = list(map(int,input().split()))    xy.append(dot)xy.sort()for i i..

매일 BOJ 2025.03.23