목록Algorithm (61)
데이터 코딩랩

https://www.acmicpc.net/problem/10809 📄 실전 문제 접근 체크리스트1초, 256MB1단계: 문제 파악☑️ 문제 요구사항 한 줄로 정리 : 알파벳 소문자 단어 S, 알파벳 순서로 번호를 매기는 느낌인데 없는 알파벳 자리에는 -1을 적어준다 ☑️ 예제 입력/출력 확인: 입력 → 알파벳 소문자: 출력 → 알파벳 갯수 만큼 나열 되어있는데 단어에서 몇번째 나온 문자인지에 따라 숫자가 매겨짐등장하지 않은 알파벳에는 -1을 써준다.+ 중복인 경우 무시한다. 추가) 추가사항없음 ✔️ 출력은 총 26개의 숫자 ✔️ 각 숫자는 알파벳 'a'부터 'z'까지의 첫 등장 위치(index) ✔️ 없는 문자는 -1 출력 ✔️ 중복 등장 시, 가장 먼저 등장한 위치만 저장 ✔️ ord(..

https://www.acmicpc.net/problem/11720 📄 실전 문제 접근 체크리스트1초, 256MB1단계: 문제 파악☑️ 문제 요구사항 한 줄로 정리 : N개의 숫자가 공백없이 주어짐, 그 숫자들의 추가) 추가사항없음 ☑️ 예제 입력/출력 확인: 입력 → 첫줄 N, 둘째줄 : N개만큼의 한자리 숫자: 출력 → 숫자들의 합: 합해서 출력하기 추가) 추가사항없음입력: 출력: 2단계: 입력 범위 → 시간복잡도 판단입력 크기 (N) 적정 알고리즘 복잡도 ☑️ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별받을 수 있는 숫자의 개수는 1 추가) 추가사항없음✔️ 시간복잡도: O(N)✔️ 메모리 : 초과X 3단계: 알고리즘 유형 선택☑️ 문자열 처리,입력받은 N..

https://www.acmicpc.net/problem/11654 📄 실전 문제 접근 체크리스트1초, 256MB1단계: 문제 파악☑️ 문제 요구사항 한 줄로 정리 : 알파벳 대문자, 소문자, 숫자0-9 중 하나가 주어졌을때, 주어진 글자의 아스키 코드값 출력 추가) 추가사항없음 ☑️ 예제 입력/출력 확인: 입력 → 첫줄 알파벳 대문자, 소문자, 숫자0-9 중 하나: 출력 → 아스키코드 값: 단순 출력 문제 같음 , 아스키 코드 개념을 알아야 함 추가) 추가사항없음 입력: 출력: 2단계: 입력 범위 → 시간복잡도 판단입력 크기 (N) 적정 알고리즘 복잡도 ☑️ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별한 글자니까 O(1) 아닌가?입력받는법문자는 그냥 입력받으면 ..

https://www.acmicpc.net/problem/9086 📄 실전 문제 접근 체크리스트1초, 128MB1단계: 문제 파악☑️ 문제 요구사항 한 줄로 정리 : 문자열의 첫글자와 마지막 글자 출력 추가) ☑️ 예제 입력/출력 확인: 입력: 첫줄 : 테스트 케이스 갯수 T(1: 출력 : 대문자: 단순 출력 문제 같음 , 하지만 다음줄에 출력해야함 추가)입력: 출력: 각 케이스마다 한 줄씩 출력, 줄바꿈 처리 실수하지 않기! 2단계: 입력 범위 → 시간복잡도 판단입력 크기 (N) 적정 알고리즘 복잡도 ☑️ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별N ≤ 1,000 지만 첫번째,마지막 문자열만 찾아서 단순 출력이니까 O(1) 라고 생각함입력받는법맨 첫줄은 테스트케이스..

🕒 시간 초과 판단법1. 입력 크기로 시간복잡도 예측입력 크기 N안전한 시간 복잡도설명N ≤ 10O(N!), 완전탐색도 OK모두 가능( 브루트포스, 백트래킹)N ≤ 100O(N³)까지 OK삼중 for 문까지 가능, 그래프 연결 확인 문제N ≤ 1,000O(N²) 가능 (2중 for문 가능)이중 for 문 가능, 단순 비교/조합 문제 가능N ≤ 100,000O(N log N) 이하 필요 이중 for문 ❌, 정렬/슬라이딩 윈도우/해시처럼 빨라야 함 N ≥ 1,000,000O(N), O(log N), O(1)만 가능한 번 훑는 수준만 가능(선형 탐색, 누적 합)→ 판단 포인트:☑️ 이중 for문 돌려도 되나?☑️ 정렬만으로 풀 수 있나?☑️ 슬라이딩 윈도우 / 해시 / 이분탐색 필요한가? ☑️ 이중 for문..

https://www.acmicpc.net/problem/2743 📄 실전 문제 접근 체크리스트1단계: 문제 파악☑️ 문제 요구사항 한 줄로 정리 → 단어 길이 출력 ☑️ 예제 입력/출력 확인 → 입력: 문자열 → 출력 : 문자열의 개수 확인)"알파벳 소문자로만 구성"이라 공백/예외처리 필요 없음 2단계: 입력 범위 → 시간복잡도 판단입력 크기 (N) 적정 알고리즘 복잡도 ☑️ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별출력 한번 -> O(1) 3단계: 알고리즘 유형 선택☑️ 문자열 처리 4단계: 자료구조 & 흐름 정리☑️ 어떤 자료구조를 쓸까? → 문자열☑️ 함수 나눌 필요 있는가? → 없음☑️ 조건 분기 많을까? 시뮬레이션 필요한..

https://www.acmicpc.net/problem/27866 📄 실전 문제 접근 체크리스트1단계: 문제 파악☑️ 문제 요구사항 한 줄로 정리 : i번째 글자 출력하기 추가) 주어진 문자열의 i번째 글자를 출력하라 (1-indexed) ☑️ 예제 입력/출력 확인: 입력: 소문자, 대문자 (S: 출력 : 소문자, 대문자 추가)입력: 문자열 S, 정수 i출력: 문자열 S의 i번째 글자 1개단순 출력 문제 2단계: 입력 범위 → 시간복잡도 판단 입력 크기 (N) 적정 알고리즘 복잡도 ☑️ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별N ≤ 1,000 O(N²) 가능 이거인가요?입력받는법두줄 입력이고, 첫째줄은 리스트로 문자열을 받고, 둘째줄에 정수를 받는다. ✔️ 시간..
✅ 문자열 개념 복습 정리본 (Python 기준) len()문자열 길이 구하기len("abc") → 3슬라이싱문자열 자르기s[1:4] → "bc"count()특정 문자 수 세기"banana".count("a") → 3lower() / upper()소문자 ↔ 대문자 변환"AbC".lower() → "abc"strip()양쪽 공백 제거" hi ".strip() → "hi"split()구분자 기준 나누기"a,b,c".split(",") → ['a', 'b', 'c']' '.join()리스트 → 문자열 결합''.join(['a','b']) → "ab"ord() / chr()문자 ↔ 아스키코드 변환ord('A') → 65, chr(65) → 'A'in 연산자포함 여부 확인'a' in 'apple' → True ..