반응형

코딩해요/C 28

[프로그래머스/C] 250128 코딩테스트

C언어 1단계부터 다 풀기로 방학계획 세워두고서는 방학 한달 남기고 시작함...게으름 사죄 1. 문자열을 정수로 바꾸기 잘못푼 시행착오들..#include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.int solution(const char* s) { int answer = 0; answer = (int) s; return answer;} 걍 받은 값을 int로 형변환 시켰다. 일케해도 될줄..? 왜냐면.. 아스키코드값이랑 똑같다 생각해서 될줄알았느데.. 보니까 char* s로 주솟값을 가리키는 포인터가 그런것이 아닐까.. 그래서 결과가 엄청 크게 나온건가보다 하고 그럼 그냥 char에다가 별을 떼버려..

코딩해요/C 2025.01.28

[프로그래머스/C] 1126 코딩테스트

요즘 넘 중구난방으로 했엇는데.. 방학 계획 난이도 별로 C언어 일단 1단계부터 다 해야겠음 약수의 합#include #include #include int solution(int n) { int answer = 0; for(int i =1;i 자릿수 더하기#include #include #include int solution(int n) { int answer = 0; int i=100000000; while(i>0){ if(n>i){ answer+=n/i; n%=i; } i/=10; } return answer;}//틀린답처음에 이렇게 입력했는데 test에서는 넘어갔는데 실제 결과 입력에..

코딩해요/C 2024.11.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
반응형