일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 사칙연산
- 정렬
- 다이나믹프로그래밍
- 이분탐색
- 백준알고리즘
- 백준
- C언어
- 소수판정
- 해시를사용한집합과맵
- 프로그래머스
- 정수론
- 수학
- C++
- 프로그래머스연습문제
- 그리디
- 큐
- 그리디알고리즘
- 프로그래머스sql
- 논문구현
- 프로그래머스코딩테스트
- MySQL
- 브루트포스알고리즘
- 구현
- 문자열
- Image Classification
- C
- 이진탐색
- SQL
- 논문리뷰
- 자료구조
- Today
- Total
목록C (15)
초보 개발자의 이야기, 릿허브

1. 문제이해 https://www.acmicpc.net/problem/14467 14467번: 소가 길을 건너간 이유 1 3번 소는 위치 1, 0, 1에서 관찰되었으므로 길을 최소 두 번 건넜음을 확인할 수 있다. 4번 소도 길을 한 번 건넜으며, 나머지 소는 길을 건넌 기록이 확인되지 않는다. www.acmicpc.net 관찰 횟수와 각 소의 번호와 위치를 입력받아, 소가 길을 건너간 최소 횟수를 출력하는 알고리즘을 구현하는 것이 목표이다. 몇 번 소가 몇 번 위치를 바꾼것인지를 모두 더한 것이 소가 길을 건너간 최소 횟수이다. 2. 문제풀이 이번에도 문제를 잘못 이해해서 코드를 두번짜는 일이 발생했다.. 처음에는 위치를 바꾼 소들 중에서, 가장 많이 위치를 옮겨간 소의 횟수를 출력하는 것으로 이해했..

1. 문제이해 https://www.acmicpc.net/problem/14405 14405번: 피카츄 피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다. 문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문 www.acmicpc.net 피카츄는 pi, ka, chu의 세 음절을 합친 단어만 이야기 할 수 있다. 문자열을 입력받고, 피카츄가 말할 수 있는 문자인지 아닌지를 판별하는 알고리즘을 구현하는 것이 목표이다. 2. 문제풀이 피카츄는 pi, ka, chu 세 음절로만 이야기할 수 있다는 것에서, 각 음절의 첫단어인 p, k, c를 기준으로 코드를 구현해야겠다고 생각했다...

1. 문제이해 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 정수를 입력받아, 각 자릿수를 내림차순으로 정렬하는 알고리즘을 구현하는 것이 목표이다. 2. 문제풀이 위 알고리즘을 구현하기 위해 두 가지 방법이 떠올라, 두 방법 모두 구현해보기로 했다. 첫번째 방법은, 정수를 입력받고 단순히 각 자릿수를 내림차순으로 정리하면 되는 거니까, 1. 9부터 0까지 내려오면서 일치하는 숫자가 있으면 그대로 출력하는 방식. 두번째 방법은, 정직하게 그대로 2. 값을 비교하여 정렬, 출력하는 방식이다. 첫번째 방식은 재학 중에 정렬을 구현하면서..

1. 문제이해 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 두 개의 정수를 입력받아, 두 수의 최대공약수와 최소공배수를 출력하는 알고리즘을 만드는 것이 목표이다. 2. 문제풀이 최대공약수와 최소공배수를 출력하는 알고리즘을 구현하기 위해 여러가지 공식을 찾아보다, 다음과 같은 공식을 발견했다. 유클리드 호제법이란, 위와 같은 방법으로 최대공약수를 구하는 방법이다. 즉, 두 정수 a, b에 대해, a를 b로 나눈 나머지인 r을 이용해, 최종적인 나머지가 0이 될때까지 위의 과정을 반복하는 것이다. 위와 같은 다..

1. 문제이해 1010번: 다리 놓기 (acmicpc.net) 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 문제를 요약하자면, 서쪽의 사이트의 개수(N)보다 동쪽의 사이트의 개수(M)가 같거나 많아야 하며, 서쪽의 사이트의 개수만큼 겹치지 않도록 서쪽과 동쪽의 다리를 이어야한다. 각 테스트 케이스와 N,M을 입력받아, 그에 대한 경우의 수를 출력하는 알고리즘을 만드는 것이 목표이다. 2. 문제풀이 예를 들어, 서쪽의 사이트의 개수(N)가 1, 동쪽의 사이트의 개수(M)가 5라고 해보자. 서쪽에서 동쪽까지 ..