전체 글 137

[백준/11654/C언어] 아스키 코드 _ 풀이

https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 #include int main() { char c; scanf("%c", &c); printf("%d\n", c);// 입력받은 문자를 아스키 코드 값으로 출력 return 0; } 변수 c는 자료형이 char형이기에 입력받을때 숫자, 알파벳 모두 작은따옴표(' ') 안에 들어간다. 이 상태에서 정수형으로 c를 출력하면 아스키코드 값이 나온다.

[백준/2743/C언어] 단어 길이 재기 _ 풀이

https://www.acmicpc.net/problem/2743 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 #include #include int main() { char s[101];// 문자열은 100자까지니 널문자 포함 101 int len;// 문자열 길이 변수 scanf("%s", s);// 문자열 입력 len = strlen(s);// s의 문자열 길이를 문자열 길이 변수에 저장 printf("%d\n", len);// 문자열 길이 출력 return 0; } 문자열 길이를 구하기 위해서는 strlen() 함수가 필요하다. 또한 문자열 관련 함수를 불러오기 위해선 include 가 반드시 필요하다

[백준/11720/C언어] 숫자의 합 _ 풀이

https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 풀이 #include int main() { int n;// 숫자 개수 char s[100];//n범위가 1~100이므로 s범위는 100 int total = 0;// 숫자 합 scanf("%d", &n); scanf("%s", &s); for (int i=0; i < n; i++)// n번째 인덱스까지 total += s[i] - '0';// 밑에서 설명 printf("%d\n", total); return 0; } total += s[i] - '0' ex) s = '54321..

[백준/27866/C언어] 문자와 문자열 _ 풀이

https://www.acmicpc.net/problem/27866 27866번: 문자와 문자열 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 $S$가 주어진다. 단어의 길이는 최대 $1\,000$이다. 둘째 줄에 정수 $i$가 주어진다. ($1 \le i \le \left|S\right|$) www.acmicpc.net 풀이 #include int main() { char s[1001];// s 문자열 int i; scanf("%s", &s); scanf("%d", &i); printf("%c\n", s[i-1]);// 배열은 0부터 인덱스가 매겨지니 s[i-1] 출력 return 0; } s 단어길이는 1000자까지고 널문자(\0)포함해서 1001 범위를 잡는다

[백준/11005/C언어] 진법 변한 2 _ 풀이

https://www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 풀이 #include int main() { int n, b;// 10진법 n에서 바꿀 b진법 int total[30];// total = b진법의 n (최대 2^30 = 10억 까지 가능) int i = 0, cnt = 0;// i는 total 인덱스, cnt는 배열의 끝항을 위해 scanf("%lld %d", &n, &b); while (n) {// n이 0이 될때까지 반복 total[i..

[백준/2745/C언어] 진법 변환 _ 풀이

https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 풀이 #include int main() { char n[31];// b진법 수 n int b;// b진법 long long total = 0;// 10진법으로 바꾼 수(int형의 범위를 벗어날수있음) int i = 0; scanf("%s %d", &n, &b); while (n[i] != '\0') {// n문자열이 끝날때까지 반복 total *= (long long)b;// total = (to..

[백준/4101/C언어] 크냐? _ 풀이

https://www.acmicpc.net/problem/4101 4101번: 크냐? 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 두 정수가 주어진다. 두 수는 백만보다 작거나 같은 양의 정수이다. 입력의 마지막 줄에는 0이 www.acmicpc.net 풀이 #include int main() { int a, b; while (1) {// 무한반복 scanf("%d %d", &a, &b);// a, b입력 if (a == 0 && b == 0)// a와 b가 0일때 break;// 종료 if (a > b)// a>b일때 printf("Yes\n");// yes 출력 else// a

[백준/1026/C언어] 보물 _ 풀이

https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 풀이 #include int main() { intn;// 50까지 int a[51], b[51];// a의 배열, b의 배열 int a_re[51], b_re[51];// a의 재배열, b의 '원소'재배열(b의 재배열 x) int s = 0;// 최소 합 int cnt = 0; scanf("%d", &n);// 길이 입력 for (int i = 0; i < n; i++)// a배열 원소 ..