www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 다이나믹 프로그래밍 ⊙ 문제 접근 과정 처음에는 간단하게 문제에 접근하여 코드를 구현해봤다. 하지만 결과는 실패!! 단순 구현 문제가 아니라 다이나믹 프로그래밍 알고리즘으로 풀어야했다! 아래에 있는 힌트를 보니 단순 구현의 경우 10일 때 예외가 존재했다. 아래는 첫 번째로 푼 단순 구현 코드이다. X = int(input()) count = 0 while(X!=1): if(X%3==0): X=X/3 elif(X%2==0): X=X/2 else: X=X-1 coun..
www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 사칙연산 ⊙ 문제 접근 과정 값을 입력받고 평균을 구하면 되는 간단한 문제이다. ⊙ 문제 풀이 N = int(input()) M = list(map(int, input().split())) max_ = max(M) for i in range(N): M[i] = M[i]/max_*100 print("%.2f" %(sum(M)/ N)) ⊙ 결과..
www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 정렬 ⊙ 문제 접근 과정 여러 값을 입력받아야 하기 때문에 input이 아닌 sys.stdin.readline을 사용하였다. 그 후 lambda를 통하여 2차원 리스트에 저장한 값을 출력해줬다. ⊙ 문제 풀이 import sys data = [] n = int(sys.stdin.readline())..
www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 큐 ⊙ 문제 접근 과정 제일 먼저 내가 문제에 접근한 방법은 QUEUE다. 큐로 문제를 접근하여 풀었더니 손쉽게 풀었다.아래엔 내가 직접 구현한 큐 코드이다. N = int(input()) L = list(range(1,N+1)) while (len(L)>1): L.pop(0) temp = L.pop(0) L.append(temp) prin..
www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 기하학 ⊙ 문제 접근 과정 직사각형 안에 있는 좌표에서 직사각형 경계선까지의 최솟값을 구하는 문제다. 직사각형 안에 임의의 좌표 (x, y)를 찍고 생각해보자. 우리는 그 좌표에서 경계선까지의 최소값을 구해야 한다. (x, y) 좌표에서 오른쪽 맨 위 좌표인 (w, h)나 왼쪽 맨 아래 좌표인 (0,0)까지 그어보자 그리고 원을 그려..
www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 ⊙ 문제 접근 과정 1, 7, 19, 37, 61이 숫자를 보면서 떠오르는 게 있으면 아주 바람직하다. 6,12,18,24 차이로 숫자가 6씩 증가하고 증가할 때마다 count를 1씩 올려주면 된다. 계차수열이다. ⊙ 문제 풀이 N=int(input()) count=1 sumNum=1 while True: if N==1: print('1') break e..
www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 다이나믹 프로그래밍 그리디 알고리즘 ⊙ 문제 접근 과정 숫자를 입력받고 5로 나누어 떨어지는지 확인한다. 나누어 떨어지면 출력, 아니면 3빼고 다시 반복 ⊙ 문제 풀이 N = int(input()) a = 0 while True: if (N % 5) ==0: a +=(N//5) print(a) break N +=-3 a += 1 if N
- Total
- Today
- Yesterday
- Python
- 그리디
- 구현
- 해답
- 자바스크립트
- 정렬
- 문자열
- 쉽게 배우는 자바 프로그래밍
- 백준
- java
- 정리
- 정답
- 우종정
- 쉽게배우는자바프로그래밍
- JS
- 쉽게배우는
- 풀이
- CPP
- BFS
- 프로그래머스
- 운영체제
- 답
- 알고리즘
- 연습문제
- py
- 자바
- OS
- Web
- 파이썬
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |