1

·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net [풀이] 이 문제는 동적 프로그래밍으로 풀어야 하는 문제이다. 동적 프로그래밍의 개발절차는 문제의 사례에 대해 해답을 주는 재귀 관계식 정립 작은 사례를 먼저 해결하는 상향식 방법으로 문제의 사례 해결 개발절차에 따르면 재귀 관계식을 정립해야 하기 때문에 우선 숫자 사이에서 규칙을 찾아보기로 했다. 5까지 직접 계산해 규칙을 찾아보니 이전 3개의 결과를 더한 숫자가 해당 숫자의 답이 되는 것을 발견했다. 이를 이용해 검증하기 위해 문제 예제에서 나온 7을 위의 규칙으로 계산해보니 44가..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net [풀이] 차례대로 주어지는 좌표를 리스트 형식으로 coordinate 리스트에 넣는다. (이중 리스트로 저장됨) lambda를 이용해 sort 기준을 정해준다. 문제에서는 x좌표가 같으면 y좌표가 증가하는 순서로 정렬해야 하기 때문에 다중 조건을 사용했다. 우선 첫 번째 인자인 x[0]을 기준으로 정렬하고 만약 x[0]이 같을 경우 두..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1284 1284번: 집 주소 재석이는 대문에 붙이는 (주소를 나타내는) 호수판 제작업체의 직원이다. 고객에게 전달할 호수판은 숫자와 숫자 사이 그리고 왼쪽 오른쪽으로 적당히 여백이 들어가 줘야하고 숫자마다 차지하 www.acmicpc.net [풀이] 변수 width를 1로 초기화해 호수판 맨 앞의 여백 1을 넣어주었다. 그 후 조건문으로 width를 더해 출력한다. [코드] if __name__ == '__main__': while True: n = input() width = 1 if n == '0': break for i in n: if i == '0': width += 4 elif i == '1': width += 2 else: w..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1357 1357번: 뒤집힌 덧셈 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev( www.acmicpc.net [풀이] 문자열 x, y를 슬라이싱 [::-1]을 이용해 뒤집어준다. 뒤집은 값을 int로 바꾸어 더해준 후 다시 문자열로 바꾼 후 슬라이싱을 이용해 뒤집는다. 그 후 뒤집은 값을 다시 int로 바꾸어 출력한다. [코드] if __name__ == '__main__': x, y = input().split() plus = int(str(in..
서채리
'1' 태그의 글 목록