목록2025/04/17 (8)
데이터 코딩랩

https://www.acmicpc.net/problem/11047 📄 실전 문제 접근 체크리스트1초, 256MB 1단계: 문제 파악■ 문제 요구사항 한 줄로 정리 : 가지고 있는 동전의 종류 :N , 합 K , 필요한 동전의 최솟값 구하기 ■ 예제 입력/출력 확인: 입력 → 첫 째줄 : 동전의 종류 (1(1: 출력 → 한명씩 출력 ★ 내가 놓친 부분 2단계: 입력 범위 → 시간복잡도 판단입력 크기 (N) 적정 알고리즘 복잡도 ■ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별: 주어질 숫자 N (N : 정렬 알고리즘 O(N log N) , : N은 최대 100,000 ★ 내가 놓친 부분 3단계: 알고리즘 유형 선택■ 그리드 ★ 내가 놓친 부분 동전 리스트..

그리디 ✅ 기본 개념 "지금 이 순간 가장 최선의 선택을 한다"→ 그 선택이 결국 전체 문제를 푸는 데도 최선이 될 거라고 믿는 방식 ✅ 이름의 뜻부터!greedy = "탐욕스러운"말 그대로 **"지금 당장 제일 좋아 보이는 걸 욕심내서 선택"**하는 방식! ✅ 핵심 특징✅ 그리디가 맞는 문제 vs 틀리는문제 💡 한 줄 요약그리디 알고리즘은 "지금 가장 좋아 보이는 선택"을 반복해 정답을 찾는 방식이며,그 선택이 전체 최적이 되도록 문제 구조가 뒷받침될 때만 성공한다! ✅ 코테 대비 요약 ✅ 자주 쓰는 패턴 ✅ 실전 팁 & 실수 주의 ✅ 그리디 실습 추천 문제 (실전용) 공부 포인트 중요도 ..

https://www.acmicpc.net/problem/10825 📄 실전 문제 접근 체크리스트1초, 256MB 1단계: 문제 파악■ 문제 요구사항 한 줄로 정리 : N명, 이름 국어 영어 수학 점수, ■ 예제 입력/출력 확인: 입력 → 첫 째줄 : 학생 수 N (N 이름: 출력 → 한명씩 출력 ★ 내가 놓친 부분 입력 직후 정수형 변환 필요 → int(kor), int(eng), int(math)(이 부분이 어려웠음) 2단계: 입력 범위 → 시간복잡도 판단입력 크기 (N) 적정 알고리즘 복잡도 ■ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별: 주어질 숫자 N (N : 정렬 알고리즘 O(N log N) : N은 최대 100,000 ★ 내가 놓친 부분 3단..

궁금증이 생김 import sysinput = sys.stdin.readline#이걸로 input 받을때 #input().strip() 으로 개행을 없애주잖아 그런데 만약 #input().split() 조건도 넣고싶으면 strip 을 어디에 쓰는지 ✅ 결론input().strip().split()→ 개행문자 제거 후, 공백 기준으로 나누기→ 순서 중요: strip 먼저, split 나중! ✅ 정리

갑자기 궁금증이 생김A=['e','L','a','b','C','c','l']A.sort()print(A) sort() 취하고 나서 다시 A = A.sort() 는 할 필요가 없는가? 🔍 비교: list.sort() vs sorted() 📌 예시 1: A.sort() 사용A = ['e','L','a','b','C','c','l']A.sort()print(A)# ✅ ['C', 'L', 'a', 'b', 'c', 'e', 'l'] ← 알파벳 순 정렬됨 ❌ 예시 2: A = A.sort()A = ['e','L','a','b','C','c','l']A = A.sort() # A에는 None이 들어감!print(A)# 🔴 출력: None ✅ 예시 3: sorted() 사용A = ['e','L','a'..

https://www.acmicpc.net/problem/1181 📄 실전 문제 접근 체크리스트3초, 256MB 1단계: 문제 파악■ 문제 요구사항 한 줄로 정리 : 알파벳 소문자 N 개 정렬하기, 1. 길이가 짧은 것부터, 2. 길이가 같으면 사전 순 , 단 중복된 단어는 하나만 남기고 제외 ■ 예제 입력/출력 확인: 입력 → 첫 째줄 : 단어 개수 N (N : 출력 → 한단어씩 출력 ★ 내가 놓친 부분사전 순 정렬은 문자열 비교 자체로 가능하다는 점→ sorted() 기본값이 사전 순 정렬!중복 제거는 반드시 정렬 전에 해야 한다는 점→ set()으로 중복 제거 → 다시 list()로 정렬 2단계: 입력 범위 → 시간복잡도 판단입력 크기..

✅ input() vs sys.stdin.readline() ✅ 작동 원리 설명import sysinput = sys.stdin.readline sys.stdin → 파이썬이 사용하는 표준 입력 스트림 (기본은 키보드 입력).readline() → 입력 스트림에서 한 줄을 직접 읽는다→ 그래서 input()보다 빠름 (내부적으로 더 단순함)input = sys.stdin.readline→ 원래 input() 함수를 더 빠른 함수로 덮어쓴다는 의미!✅ 사용 예시import sysinput = sys.stdin.readlineN = int(input()) # \n 포함됨 → int 변환은 문제 없음arr = [input().strip() for _ in range(N)] # \n 제거 필요! ✅ 꼭..

https://www.acmicpc.net/problem/10814 📄 실전 문제 접근 체크리스트3초, 256MB 1단계: 문제 파악☑️ 문제 요구사항 한 줄로 정리 : 나이와 이름, 나이가 증가하는 순, 나이가 같으면 먼저 가입한 사람 순으로 정렬 ☑️ 예제 입력/출력 확인: 입력 → 첫 째줄 : 회원수 N (N 가입순서는 입력순: 출력 → 나이 이름 추가) 2단계: 입력 범위 → 시간복잡도 판단입력 크기 (N) 적정 알고리즘 복잡도 ☑️ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별→ 주어질 숫자 N (N→ 정렬 알고리즘 O(N log N) → N은 최대 100,000자리 → 문자 10개 → 1 추가) 입력량이 크므로 sy..