Programming

    [C++] 2577번: 숫자의 개수

    https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 풀이 문제에서 A,B,C는 1000보다 작다고 주어졌습니다! 1000^3은 10억으로 int의 범위 21억보다 작으니 int로 다뤄도 무방합니다~ 아이디어 자체는 정말 쉽습니다! 10으로 계속 나누는데 그 과정에서 나머지를 따로 count해주는 것입니다 내 코드 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int A, B, C; cin >> A >> B ..

    [C++] 10808번: 알파벳 개수

    https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 풀이 문자열의 원리를 이해하고 있으면 쉽게 풀 수 있는 문제이다. 나의 코드 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); string s; vector v(26); cin >> s; for (char c : s) { int num = c - 97; v[num]++; } for (int a : v) { cout s; for (char a = 'a'; a

    [C++]백준 10804번: 카드 역배치

    https://www.acmicpc.net/problem/10804 10804번: 카드 역배치 1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다. www.acmicpc.net 폐구간 내의 원소들을 reverse하는 간단한 문제이다. reverse method 대신 reverse 해야하는 범위가 n일 때 반복문의 범위를 n/2로 잡고 swap하여도 된다.(사실 이것이 reverse의 원리) 내 정답코드 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int arr[21]; for (int i = 1; i < 2..

    [C++]백준 10093번: 숫자

    https://www.acmicpc.net/problem/10093 10093번: 숫자 두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 : subtask라는 재밌는 장치가 존재하였다. c/c++이라면 10^15로 범위 제한인 것을 보자마자 long long 자료형을 사용해야한다는 것을 생각해내야한다. (int는 약 21억까지의 수를 다루니 그보다 10^15는 그 보다 훨씬 큰 수이다) +long long 조차 감당이 안될 큰 수라면 string으로 다뤄야한다. (Python을 쓰자..) 위 사실만 알면 쉽게 풀리는 문제이다. 내 정답코드 #include using namespace std; int main() { ios::s..

    [C++]백준 2309번: 일곱 난쟁이

    https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 풀이 : 문제를 딱 보고 경우의 수가 생각났다. 조합으로 생각하면 9개의 data에서 7개의 요소를 선택하는 경우니 최악의 경우 9C2를 만족한다고 생각했다. 7개의 합으로 판단하는 것 보다 전체의 합에서 100을 만족시키게끔 배열의 요소를 빼는 풀이를 생각했다. 다만, break문을 잘못 써서 오답이 발생하였다.. break 문은 가장 가까운 loop를 탈출한다!! (정말 바보같다.) 질문 게시판에 나와..

    Git vs Github (깃 vs 깃허브)

    제가 처음 Git과 Github를 배울 때 헷갈렸던 것이 있습니다. 깃(Git)은 깃허브(Github)의 줄임말 아니었나요? 아니었습니다. 추후에 누군가 위와 같이 궁금증을 가진다면 명확히 설명할 수 있도록 하고자! 그리고 Git은 Github인가요? 와 Github는 Git인가요? 같은 질문에 대해서도 명확히 설명할 수 있게 해봅시다! Git의 탄생배경을 통해 Git을 알아봅시다. 2000년대에 리눅스라는 운영체제의 중추 역할을 하는 리눅스 커널을 개발하는 대규모 오픈소스 프로젝트가 있었습니다. Git이라는 것이 존재하지 않던 당시 개발하며 변경사항이 있으면 Patch와 이메일을 통해 관리하였다고 합니다. 소규모 프로젝트라면 꾹 참고 할 수 있겠지만, 대규모 프로젝트에서 이와 같은 방식은 매우 수동적이..

    [C] 백준 10829번 : 이진수 변환

    https://www.acmicpc.net/problem/10829 10829번: 이진수 변환 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000) www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include long long recursion(long long N) { long long temp; if (N == 0) return 0; else { temp = N % 2; N /= 2; recursion(N); printf("%lld", temp); } } int main() { long long N; scanf("%lld", &N); recursion(N); } 우선 문제에서 제시된 자연수 N의 범위가 대략 21억의 값의 범위..

    [C] 백준 2750번 : 수 정렬하기

    https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include int main() { int N = 0, temp = 0; int arr[1000] = { 0, }; scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &arr[i]); } for (int i = 0; i < N; i++) {//시간복잡도가 O(n^2)인 버블정렬 for (i..

    [C] 백준 2563번 : 색종이

    https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 어렵게 생각할 필요가 전혀 없는 문제인데 어렵게 생각해서 푸는데 시간이 꽤 오래 걸렸다. #define _CRT_SECURE_NO_WARNINGS #include int main() { int paper[100][100] = { 0, }; int n, x, y, count = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d %d", &x, &y); ..

    금오산 일출산행 성공

    눈꽃산행을 꼭 해보고싶었는데 경상도인지라 눈이 잘 안온다. 낮에 가는 산도 좋지만,산 정상에서 일출을 내 눈으로보고 타임랩스로 남기고 싶어 친구들과 산행에 나섰다. 정상 도착 후 일출과정을 타임랩스로 촬영 금오산은 경상북도 구미시에 위치해있는 976m고도의 산이다. 마지막 2km구간에서의 경사가 엄청나 오르기 쉬운 산이라고는 못하겠다. 05:10 주차장에서 출발해 09:40에 하산완료하였다. 폭포까지는 경사도 안 가파르고 등산로가 잘 되어있어 금방 오를 수 있다. 안에서 물떨어지는 소리가 정말 듣기 좋았다. 여름에는 시원하게 흐르는 맛이 있다면 겨울에는 정적의 미가 있었다. 폭포를 지나고나면 할딱고개가 시작되는데 위 사진과 같이 계단이 많다가 완전 돌길이 나온다. 확실히 경사지다. 겨울이라 언 곳도 많아..