코딩(Coding)
-
[백준] 1912번: 연속합코딩(Coding)/백준 문제풀이 2021. 1. 12. 12:12
링크: www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 연속합 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지..
-
[백준] 2004번: 조합 0의 개수코딩(Coding)/백준 문제풀이 2021. 1. 11. 10:56
링크: www.acmicpc.net/problem/2004 2004번: 조합 0의 개수 첫째 줄에 정수 n, m (0≤m≤n≤2,000,000,000, n≠0)이 들어온다. www.acmicpc.net 조합 0의 개수 문제 nCm의 끝자리 0의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 n, m (0≤m≤n≤2,000,000,000, n≠0)이 들어온다. 출력 첫째 줄에 nCm의 끝자리 0의 개수를 출력한다. 문제접근 이번 문제는 수학문제이면서 약간의 논리가 필요한거 같다. 우선 조합 nCr의 일반식을 입력해보면 nCr = n!/((n-r)! * r!)이다. 처음에 나는 위 공식을 이용해서 값을 구한다음 뒤에서 부터 0의 개수를 세는 방식으로 ..
-
[백준] 11053번: 가장 긴 증가하는 부분 수열코딩(Coding)/백준 문제풀이 2021. 1. 8. 12:46
링크:www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 가장 긴 증가하는 부분 수열 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. 입력 첫째 줄에 수열 A..
-
[자료구조] BST - 이진탐색 트리(Binary Search Tree)코딩(Coding)/자료구조 2021. 1. 7. 11:04
이진 탐색 트리 BST(Binary Search Tree) BST는 각각의 Node가 2개의 하위 노드를 가진 모양의 Tree이다. 단 BST는 정렬된 상태로 Node가 저장된다. 즉 순서가 있다는 것이다. 쉽게 이야기 하자면 특정 노드가 있을때 그 노드의 왼쪽 하위 노드는 해당 노드보다 data값이 작아야하며 반대로 오른쪽 하위 노드는 data값이 해당 노드보다 커야한다. 그림을 통해 확인해 보면 위 그림을 확인해 보자 root노드인 50의 왼쪽 node의 data 값은 30이고 오른쪽 노드의 data값은 90이다. 해당 규칙을 지키며 tree를 구성한 것이 BST이다. 설계 그렇다면 바로 구현을 시작해보자 Node 설계 우선은 Tree의 각각의 노드를 설계할 것이다. 그림에서 처럼 좌우의 하위 Nod..
-
[백준] 1297번: TV 크기코딩(Coding)/백준 문제풀이 2021. 1. 6. 18:22
링크: https://www.acmicpc.net/problem/1297 1297번: TV 크기 첫째 줄에 TV의 대각선 길이, TV의 높이 비율, TV의 너비 비율이 공백 한 칸을 사이에 두고 주어진다. 대각선 길이는 5보다 크거나 같고, 1,000보다 작거나 같은 자연수, 높이 비율은 1보다 크거나 같 www.acmicpc.net TV 크기 문제 김탑은 TV를 사러 인터넷 쇼핑몰에 들어갔다. 쇼핑을 하던 중에, TV의 크기는 그 TV의 대각선의 길이로 나타낸 다는 것을 알았다. 하지만, 김탑은 대각선의 길이가 같다고 해도, 실제 TV의 크기는 다를 수도 있다는 사실에 직접 TV를 보러갈걸 왜 인터넷 쇼핑을 대각선의 길이만 보고있는지 후회하고 있었다. 인터넷 쇼핑몰 관리자에게 이메일을 보내서 실제 높이..
-
[Python] Python 공부코딩(Coding)/Python 공부 2021. 1. 5. 14:17
안녕하세요 JSY입니다. 제가 대학교 연구보조원을 참여하면서 프로그래밍을 가르칠 기회가 생겼습니다. 프로그래밍 기초 교육을 준비하면서 만든 자료를 해당 카테고리에 ppt의 슬라이드 형식으로 올릴 예정입니다. 요즘은 python책이 잘 나와있고 혼자서 공부할 수 있을 만큼 쉽기때문에 블로그를 통해 공부할 거 같진 않겠지만, 제 나름대로 기록을 남기고 싶어서 이렇게 글을 쓰게 됩니다. python을 1학년때 처음 배웠는데, 군대 갔다오니까 다 까먹었기도 해서 0부터 다시 공부한다는 생각과 프로그래밍을 같이 공부한다는 느낌으로 글을 쓸 예정입니다. 그리고 준비한 자료와 공부한 자료를 올리는 곳으로 활용할 예정입니다. 자료 참고 및 책은 이지퍼블리싱의 "점프 투 파이썬"책을 활용할 예정입니다. 이미 구글 doc..
-
[백준] 2417번: 정수 제곱근코딩(Coding)/백준 문제풀이 2021. 1. 5. 14:04
링크: www.acmicpc.net/problem/2417 2417번: 정수 제곱근 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. www.acmicpc.net 정수 제곱근 문제 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 n이 주어진다. (0 ≤ n < 2^63) 출력 첫째 줄에 q2 ≥ n인 가장 작은 음이 아닌 정수 q를 출력한다. 문제접근 해당문제는 그냥 수학문제이다. python의 제곱연산자("**")를 통해서 문제를 쉽게 해결할 수 있다. 나는 2가지 경우를 나눠서 문제에 접근했다. 37같이 딱나눠 떨어지지 않을 경우와 36같이 딱 나눠떨어질 경우를 말이다. 첫번째, 딱 나눠떨어지지 않을 경우 입력한 값의 1/2만큼 제곱을..
-
[자료구조] Tree 개념/정의코딩(Coding)/자료구조 2021. 1. 5. 13:26
Tree 트리(Tree)는 하나 이상의 노드들로 구성된 유한집합이다. 트리는 가장 최상위에 존재하는 Root 노드와 그 노드서부터 내려가는 하위노드들의 구성으로 표현된다. 아래 그림을 보자 그림처럼 Tree를 표현하면 위 그림같이 될 것이다. Root노드인 A는 하위 노드인 B,C,D노드가 있고 각각의 하위노드들은 또 자신들만의 하위노드들이 있다. 여기서 A에 대해 subTree는 B노드와 그의 하위 노드들과 C,D노드와 각각의 하위노드들이 될 것이다. Tree 설계 그렇다면 Tree는 어떻게 설계하면 좋을까? 생각해보자 일단 노드 A는 data와 sub-Node를 저장할 Node변수 3개가 필요할 것이다. 그렇다면 아래 그림 처럼 Tree의 노드구조를 설명할 수 있겠다. 자 그럼 문제는 다음이다. 가령..