반응형

코딩해요/C 26

[백준/C언어] 1193번: 분수찾기

알고리즘 정리1. 숫자 입력 받기int X;scanf("%d", &X); 2. 변수 설정int stage = 1; int count = 1;  3. 목표한 번지까지 찾아가기 위해서 stage랑 count값을 설정함. 원하는 stage를 찾을 때까지 count값을 늘려서 찾음stage는 이런식으로 구성했다. 가로로 정리하면 이런식이다..count는 stage의 첫번째마다 갱신한다고 치면 이전 count에서 stage의 값을 더하여 갱신하면 된다. 코드로 구현하면 아래와 같이 된다.while (count    4. 분모랑 분자에 들어갈 값 계산 예시로 몇개 해보고 일반화 해보았다. stage가 홀수일 때랑 짝수일 때가 분모 분자의 증감이 달라서 예시로 stage가 홀수인것과 짝수인것을 나눠서 case 두개를..

코딩해요/C 2024.07.09

[백준/C언어] 2292번: 벌집

알고리즘 정리1. 주어진 방 번호(N) 입력받기int N;scanf("%d", &N); 2. 규칙성 찾아서 반복문 및 판단문 세우기 뭔가 말로 적기가 어려워서.. 이런식으로 수열식으로 접근해서 일반항을 만들어냈다. 처음에 iterator를 0으로 설정한 후에 N에서 generalize된 값을 빼보고 만약에 0보다 크면 iterator를 하나씩 늘리고 0보다 작아지면 단계가 끝난 걸로 판단했다. int i = 0; while (1) { if ((N - (1 + 6 * (i * (i + 1) / 2)))  3. 결과 출력위의 정리에서 확인할 수 있듯이 결과값은 i보다 1 큰값이니까 출력할 때는 i+1을 출력하면 된다.printf("%d", i+1);   답안#define _CRT_SECURE_NO..

코딩해요/C 2024.07.09

[백준/C언어] 11005번: 진법 변환2

알고리즘 정리1.  변수 선언하고 입력 받기int N, B;scanf("%d %d", &N, &B); 2. iterator 설정 및 결과 저장할 result 배열 선언10억 까지 숫자로 주어진다고 했는데 10억을 2진수로 변환해도 30자리 안넘길래 배열 크기를 30으로 함int i = 0;char result[30] = { 0 }; 3. 입력된 숫자(N)가 B보다 클 때 반복되는 while문 작성while (N >= B) 4. N을 B로 나눈 나머지를 result에 저장한 뒤에 iterator를 증가시킴. 이후 N을 B로 나눈 몫의 값으로 초기화함. result 자릿수에 저장시에는 10보다 작으면 숫자 그대로의 ASCII 코드 값으로 저장하고(0의 아스키 코드값이 48이므로 48을 더함) 10이 넘어갈 ..

코딩해요/C 2024.07.09

[백준/C언어] 1316번: 그룹 단어 체커

알고리즘 구성1. 단어 개수(N) 입력받기int N;scanf("%d", &N); 2. 그룹 단어의 개수(count)를 N으로 초기화 (일단 N개로 가정 후 그룹단어가 아닐 시에 한개 씩 마이너스 시킬 예정)int count = N; 3. N개의 단어를 처리하기 위한 반복문 작성for (int i = 0; i  4. 단어를 받기 위해 str 배열 사용 (문자열 하나씩 확인하기에 용이)char str[100];scanf("%s", str); 5. 각 알파벳이 등장했는지 여부를 배열로 확인함(check 배열)bool check[26] = { false }; 6. prev_char는 이전 문자를 저장, is_group_word는 그룹 단어 맞는지 확인int prev_char = 0; bool is_grou..

코딩해요/C 2024.07.08
반응형