https://www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 사칙연산 ⊙ 문제 접근 과정 배열에 햄버거 값을 저장해주고 drink 변수를 사용하여 min 값을 비교한다. 비교 시 더 작은 값을 경신시켜주어 결과를 출력해주면 된다. ⊙ 문제 풀이 import sys input = sys.stdin.readline hamburger = [] for _ in range(3): hamburger.appen..
https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 정렬 ⊙ 문제 접근 과정 정렬 문제다. 값을 입력받고, 배열에 저장해 주자. 그리고 sort함수를 사용하되 lambda를 이용하여 y좌표 기준으로 오름차순 정렬을 진행하자. 그리고 두 번째 조건으로 y좌표가 같다면 x좌표를 기준으로 오름차순 정렬을 해주는 코드를 작성하면 된다. 마..
https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 첫 번째로 작은 값과 두 번째로 작은 값*2을 더하여 K이상으로 변경해야 한다. 배열에서 작은 값을 찾기 위해 힙큐를 이용하여 문제를 풀었다. 가장 먼저 scoville 배열을 heapq의 heapify 함수를 이용하여 힙큐로 변경해준다. 그리고 pop을 해준다. 가장 작은 ..
https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 사칙연산 ⊙ 문제 접근 과정 시간제한이 0.35초이다. 그리고 범위는 21억 이하의 자연수. 무조건 식을 세워서 풀어야 한다. B가 C보다 더 크면 만들수록 적자이다. 따라서 -1을 출력. 나머지는 C-B와 A를 나눈 몫 + 1 을 출력. ⊙ 문제 풀이 A, B, C = map(int, input().split()) if B>=C: pr..
https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 플로이드-와샬 ⊙ 문제 접근 과정 플로이드 와샬 알고리즘은 모든 정점에 대한 경로를 계산하는 알고리즘이다. 플로이드 와샬 알고리즘을 사용하여 어느 한 곳에 들려 다른 곳으로 가는 길이 존재한다면 그 값을 체킹해준다. 그리고 그 그래프를 출력하면 된다. ⊙ 문제 풀이 import sys input = sys.stdin.readline N = int(input()) gr..
https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 최소 스패닝 트리 ⊙ 문제 접근 과정 문제를 보면 최소 스패닝 트리, MST 문제이다. 유지비를 최소로 길을 전부 터야 한다. 길을 입력받고 오름차순으로 정렬한다. 오름차순 정렬 후, 최소 스패닝 트리를 돌려준다. 부모가 다르면 값을 비교 후 작은 값이면 연결시켜 갱신, 같으면 패스한다...
https://www.acmicpc.net/problem/2887 2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 정렬 최소 스패닝 트리 ⊙ 문제 접근 과정 먼저 사용자에게 입력받은 3차원 행성 좌표를 저장한다. 그리고 그 값들을 토대로 행성 사이의 거리를 각각 구해주고 크루스칼 알고리즘을 사용한다. 크루스칼 알고리즘을 사용하면 최소 스패닝 트리를 구할 수 있다. 최소 스패닝 트리란 신장 트리 중에서도 최..
https://www.acmicpc.net/problem/9252 9252번: LCS 2 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 다이나믹 프로그래밍 ⊙ 문제 접근 과정 2차원 배열을 사용하여 문제를 풀었다. 각 문자의 길이만큼 배열을 만들어주고, 규칙성을 찾아내어 정보를 담아준다. i for문과 j for문을 사용해 두 문자열을 비교해주는데 일치하면 dp [i][j] = dp [i - 1][j - 1] + 문자 저장..
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 방문 여부와 단어 차이로 bfs를 돌려주었다. 먼저 queue에 시작 단어를 넣는다. 그리고 그 단어가 words안에 없다면 바로 0을 리턴해준다. 그렇지만 단어가 words 안에 있다면 words를 탐색하여 단어가 하나만 다르고 방문한 적 없는..
https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 8주차_최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 리스트 속의 리스트 값들을 먼저 정렬해준다. 왜냐하면 가로랑 세로는 바꿔 들면 바꿀 수 있기에 크기로 정렬해준다. 그리고 그 값들을 하나씩, 두개의 배열에 넣어준다. 마지막으로 그 두 개의 배열중 가장 큰 두 개의 값을 곱해주면 정답이 나온다. ⊙ 문제 풀이 def solution(s..
- Total
- Today
- Yesterday
- 연습문제
- Python
- CPP
- C++
- java
- 프로그래머스
- 정리
- OS
- 운영체제
- py
- 알고리즘
- 그리디
- 풀이
- 해답
- 쉽게배우는자바프로그래밍
- 백준
- 자바
- 파이썬
- 문자열
- JS
- BFS
- Web
- 자바스크립트
- 구현
- 우종정
- 쉽게배우는
- 정렬
- 답
- 정답
- 쉽게 배우는 자바 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |