일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Java
- 국비지원
- OPENPATH
- 백준
- 내일배움카드
- 디자인강의
- UXUI기초정복
- baekjoon
- 환급챌린지
- 내일배움캠프
- 패스트캠퍼스
- 디자인챌린지
- UXUIPrimary
- 디자인교육
- 객체지향
- 오픈패스
- KDT
- 백엔드 부트캠프
- 오블완
- 국비지원취업
- 국비지원교육
- 백엔드
- Spring
- UXUI챌린지
- 부트캠프
- mysql
- 오픈챌린지
- Be
- 티스토리챌린지
- 백엔드개발자
- Today
- Total
목록정렬 (6)
군만두의 IT 공부 일지

✅문제: 9095번📌문제풀이1, 2, 3의 합으로 숫자 n을 표현하는 방법의 수를 계산하는 문제임. n은 최대 10까지 주어지며, 이를 동적 계획법(DP)을 사용해 해결함.DP 배열 초기화dp[i]: 숫자 i를 1, 2, 3의 합으로 나타내는 방법의 수를 저장하는 배열초기값 설정dp[1] = 1dp[1]: 1을 표현하는 방법은 1개 (1)dp[2] = 2dp[2]: 2를 표현하는 방법은 2개 (1+1, 2)dp[3] = 4: 3을 표현하는 방법은 4개 (1+1+1, 1+2, 2+1, 3)점화식숫자 i를 1, 2, 3의 합으로 표현하기 위해 고려해야 할 사항마지막 숫자 1: dp[i−1]마지막 숫자 2: dp[i−2]마지막 숫자 3: dp[i−3]따라서, dp[i]=dp[i−1]+dp[i−2]+dp[i−..

✅문제: 1181번📌문제풀이주어진 단어들을 정렬하여 출력하는 문제임. 단어를 길이순으로 먼저 정렬하고, 길이가 같으면 사전순으로 정렬하며, 중복된 단어는 한 번만 출력해야 함.입력 데이터를 리스트로 저장입력으로 주어진 단어들을 리스트로 읽어옴.동일한 단어가 여러 번 입력될 수 있으므로 중복을 제거해야 함.중복 제거set()을 사용하여 중복된 단어를 제거한 뒤, 리스트로 변환함.이를 통해 각 단어를 한 번씩만 처리할 수 있음.정렬 기준 적용sort() 함수의 key를 사용하여 두 가지 정렬 기준을 설정함.단어의 길이순 정렬길이가 같은 경우 사전순 정렬import sysinput = sys.stdin.readdef solution(words): unique_words = list(set(words))..

✅문제: 1263번📌개념정리(1) 그리디 알고리즘 (Greedy Algorithm)정의: 문제를 해결하는 데 있어 매 순간 최적의 선택을 함으로써 전체 문제의 최적해를 도출하는 알고리즘작업들의 마감 시간을 기준으로 정렬한 뒤, 가장 늦게 시작할 수 있는 시간부터 계산하여 모든 작업을 수행할 수 있는지 확인하는 방식으로 해결할 수 있음.(2) 정렬정의: 데이터를 특정 기준에 따라 재배열하는 작업작업을 마감 시간 기준으로 정렬하여, 가장 늦게 마감해야 하는 작업부터 역순으로 스케줄링할 수 있음.📌문제풀이주어진 작업의 소요 시간과 마감 시간을 기반으로 모든 작업을 수행할 수 있는 가장 늦은 시작 시간을 계산하는 문제임. 각 작업은 소요 시간과 마감 시간이 주어지며, 모든 작업을 마감 시간 내에 끝낼 수 있..

✅문제: 7795번 7795번: 먹을 것인가 먹힐 것인가심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을www.acmicpc.net📌개념정리(1) 이진 탐색(Binary Search)정의: 정렬된 배열에서 특정한 값을 효율적으로 찾는 탐색 기법탐색 범위를 반으로 줄이면서 값을 찾기 때문에 O(log N)의 시간 복잡도를 가짐.파이썬에서는 bisect 모듈을 사용하여 이진 탐색을 간편하게 구현할 수 있음. 이 모듈은 정렬된 배열에서 요소를 삽입할 위치를 찾거나, 특정 요소의 인덱스를 찾는 함수를 제..

✅문제: 2230번 2230번: 수 고르기N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어www.acmicpc.net📌개념정리(1) 투 포인터(Two Pointers)정의: 서로 다른 두 위치의 포인터를 동시에 조작하여 해결하는 알고리즘주로 정렬된 배열에서 두 요소의 특정 관계를 만족시키는 문제에 사용함.📌문제풀이주어진 배열에서 두 수의 차가 M 이상이면서 가장 작은 경우를 찾는 문제임. 배열을 정렬한 후, 투 포인터 기법을 사용하여 두 수의 차이를 조절하며 최소 차이를 구함.1. 주어진 수를 오름차순으로 ..

✅문제: 3273번 3273번: 두 수의 합n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i www.acmicpc.net📌개념정리(1) 투 포인터(Two Pointers)정의: 배열이나 리스트에서 두 개의 포인터를 이용하여 문제를 해결하는 기법보통 정렬된 배열에서 두 요소의 합, 차 등을 계산할 때 사용함.이 문제에서는 left, right 두 포인터를 이용하여 합이 특정 값 X와 일치하는 쌍을 찾음.📌문제풀이이 문제는 주어진 수열에서 두 수의 합이 특정 값 X와 같아지는 경우의 수를 찾는 문제임...