일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 10773
- Zero That Out
- 4949
- 해바
- system programming
- process control
- c++
- 5622
- Parenthesis
- For Beginners
- file IO
- 2941
- QA
- c
- 브런치
- 시스템 프로그래밍
- BAKA
- 백준
- 입력 버퍼
- 시프
- Baekjoon
- 바샤
- IT
- 균형잡힌 세상
- Process Communication
- The Balance of the World
- 1874
- LJESNJAK
- 전자책
- File 조작
- Today
- Total
목록전체 글 (52)
해바
문제 https://www.acmicpc.net/problem/5622 5622번: 다이얼 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다. www.acmicpc.net 풀이 else if 란에 양쪽 다 범위를 정해주지 않으면 '\n' 과 같은 것들이 str
문제 https://www.acmicpc.net/problem/2908 2908번: 상수 문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734과 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 www.acmicpc.net 풀이 #include "cstdio" // num % 10 : 1의자리 // (num / 10) % 10 : 10의자리 // num /..
문제 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. www.acmicpc.net 풀이 4번이나 틀렸던 문제. '이제 더 이상 예외인 게 없을 텐데?' 하고 분노를 가졌을 때마다 예외가 발생하는 것들이 존재했다. 테스트 케이스에서 확인해야할 것들은 총 4가지로, 문자열 맨 앞에 공백이 있을 때 (ex. ' Luis Suarez') -> 2 문자열 맨 뒤에 공백이 있을 때 (ex. 'Luis Suarez ') -> 2 문자열..
문제 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 풀이 이번 문제도 이전 문제들처럼 아스키코드를 활용하는 문제였다. 이번 파트 문제를 다 풀 때쯤엔 아스키코드표 채로 머릿속에 저장될 듯! #include "cstdio" #include "ctype.h" int maxAlp(int* arr) { int max(0); for(int i(1); i max) { max = arr[i]; arr[0] = i + 64;// 최대빈도의 문자를..
문제 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 www.acmicpc.net 풀이 이차원 벡터 사용법 #include "cstdio" #include "vector" int main() { int count..
문제 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. www.acmicpc.net 풀이 아래 주석과 같이 배열을 a[26] = { [ 0 ... 25 ] = -1 } 처럼 초기화한 것이 백준 채점기에서는 컴파일 에러를 냈다. gcc 레퍼런스를 보니 4.1.2 버전부터 추가된 듯한데 백준에서 돌리는 채점기는 gcc 7.3.0 버전이란다. 근데 왜..? 그냥 초기화하는 방식을 C++..
문제 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 풀이 자리수를 간과하고 int로만 처리하려했는데, 11개 이상의 수를 받아들이지 못했다. long long을 넘어 big Integer 만드는걸 찾다가 문제가 1~100 사이의 개수를 설정하는건데 100개의 자리수를 가진걸 big Integer로 처리한다는게 정말 무식한 짓임을 깨달았다.. 그래서 문자로 받아와서 변환하기로 했다. #include "cstdio" int main() { int count(0), sum(0); char num; scanf("%d ", &coun..
문제 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 첫째 줄에 N이 주어진다. N은 항상 3의 제곱꼴인 수이다. (3, 9, 27, ...) (N=3k, 1 ≤ k < 8) www.acmicpc.net 풀이 다음과 같이 3 ✕ 3의 모양을 기반으로 중앙에 공백을 두며 그려지는 규칙이 있다. 이거 발견하는데도 애먹었다.. ★ ★ ★ ★ ★ ★ ★ ★ 가장 먼저 33 크기의 이차원 배열을 만들어서, 큰 규모의 배열에 옮겨 출력하면 어떨까 하는 아이디어가 떠올랐다. 그래서 입력한 수만큼의 이차원 배열을 생성해주는 함수와 기본 그림을 만드는 함수를 제작했는데, 가만 보니 크기가 커질수록 공백 크기도 달라지는데, 굳이 기본 그림을 만드는 의미가 없었다. 별을 찍는..