프로그래밍/백준 9

문자열문자열2 백준 1157 단어공부 -C언어

문자열이 문자열 했다!!!! 소문자와 대문자에 대해 어떻게 다뤄야할지 toupper를 사용해야 할지 고민하고 있을 때 친구가 이 문제 풀었다길래 어떤식으로 풀었냐고 물어보니 만약 소문자가 나오면 아스키코드 -32를 해 풀었다고 한다. 상당히 똑똑한 친구인거 같다. #include #include int main(){ char a[1000001]; int b[100]={-1,}, result=0, cnt=0, t=0; scanf("%s",a); int len = strlen(a); for(int i=0; i91){ //소문자일경우 대문자로 변환 a[i]-=32; } for(int j=65; j

문자열문자열 백준 10757 큰 수 구하기 - C언어

늘 말하는 이야기지만 나는 문자열을 좋아하지 않는다. 백준에서는 허용 범위를 초과하는 큰수는 에러가 나기 때문에 문자열을 이용하여 계산해야 하는데 나는 문자열을 잘 사용하지 못하기 때문에 이에 큰땀을 흘렸다. 처음엔 되겠지 하면서 #include int main(){ unsigned long long A, B; scanf("%llu %llu", &A,&B); printf("%llu",A+B); } 입구컷! 이에 다른 블로그 글 들의 샅샅이 뒤져서 이해는 못하지만 억지로 내 코드랑 억지로 섞어서 만들어 봤지만 #include #include #include int main(){ char num1[10002], num2[10002]; //입력받을 값 int a,b,x,i, cnt,sum=0, carry=0;..

6. 백준 1193 분수찾기 분명 어려운 문제가 아닌데 어렵다 -C 언어

이 지그재그 문제 처음 봤을 때 어떻게 굴러가는지 전혀 이해가 되지 않았다. 정말로 이 문제를 풀수 있나하면서 그림까지 그리고도 이해가 되지 않아 아래에 다시 정렬해본 후에야 이해가 되었다 분모 분자 각각 서로 떨어져서 계산해야 하는데 문자는 홀수까지 켜졌다 1까지 작아지고 다시 그 다음 홀수까지 켜졌다 작아진다. 분자는 1(홀수 최대) -> 1 -> 2 -> 3(홀수 최대) ->2 -> 1 -> 1 -> 2 -> 3 -> 4 -> 5(홀수 최대)이런식이로 분모는 1 -> 2(짝수 최대) -> 1 -> 1 -> 2 -> 3 -> 4(짝수 최대) 이런식으로 늘어나게 된다. 또 다른 풀이방법도 물론 있겠지만 아직을 여기까지가 내 한계였다. 위의 증명을 토대로 작성한 결과 뭔가가 틀어져서 맞긴 맞지만 애매하게..

4. 백준 15596 정수 n개의 합 구하기 (문제를 잘 읽자,사용자정의함수배열)- c언어

처음 이 문제를 봤을때 이해가 전혀 되지 않았다. 보통 문제로 바로 해결방법을 알아차리기 보단 예제 입력 & 출력을 보고 문제를 파악하는 편인데 이번 문제에선 그런게 전혀 나오지 않았다. 그러는 와중에 이 단계의 다른 문제들은 이미 성공이라고 되어있기에 어떤 형식의 문제인가 싶어 봤더니.... 기초 문법떼기 리스트에서 가장 마지막에 있던 문제이자 가장 애를 먹었었던 셀프넘버가 그밑에 있었다....... 이를 발견함과 동시에 정말, 매우, 자신감이 떨어졌지만 일단 부딪쳐보기로 했다. 예제 입력이 어떻게 되는지도 모르겠고 감이 아예 안잡히지만 일단 무작정 코드를 써보기로 했는데 #include int main(){ long long n, hap=0; while(scanf("%lld",&n) ==1){ hap..

3. 백준 3052 나머지 겹치지 않는 숫자 구하기 - c언어

이번 백준문제는 10개의 수를 받고 42로 나눈 나머지 숫자중 안겹치는 숫자의 개수를 세는 문제이다 사실 이 문제는 저번에 풀려고 한번 도전 했었으나 나머지 숫자중 겹치는 숫자를 알아내는 방법을 모르겠어서 포기한 문제였고 이후에 1.백준 8958번인 ox퀴즈도 연달아 틀리게 되어 나에게 깊은 패배감을 주었던 문제이다. 이후 방학때 적어도 백준 하루에 한 문제씩 풀자라는 결심을 하게 되었고 2. 백준 4344 평균은 넘겠지 문제를 통해 자신감을 되찾은 나는 다시 이 문제에 도전을 하게 되었다. 전에 겪었던 굴욕을 다시 마주하게 된 나는 쪼큼 걱정을 하게 되었지만 그 걱정이 무색하게 간단하게 문제가 풀렸다. 일단 처음엔 기초 베이스인 수를 42로 나눈 나머지를 변수에 저장하고나니 겹치는 숫자를 판단할 만한 ..

2. 백준 4344 평균은 넘겠지(feat.%프린트 하는 방법) - c 언어

이미 백준의 단계별로 풀어보기중 1차원 배열 문제에서 두번의 패배를 맛본 나는 더이상 물러날 곳이 없었다. 마음을 다독이며 새로히 도전한 문제는 바로 4344 평균은 넘겠지 이 문제는 처음에 '케이스의 개수'를 던져준 다음 '학생의 수'를 주고 학생의 수 만큼 '점수'를 주어 평균을 내고 '평균 이상인 학생'을 퍼센트로 나타내는 문제이다. 그다지 어려운 문제도 아니고 문제가 반복 개수와 변수의 수도 알아낸 이상 바로 도전해보기로 했는데 우선 가장 기본적인 반복문을 한 케이스당 학생의 수 만큼 반복하는 식과 받은 점수를 합산하여 평균을 내는 식을 만들어 주었고 이상은 없었다. 평균 이상인 학생도 배열을 사용하여 cnt로 인원을 세주었고 cnt는 소수점 자리도 나타내야 하기 때문에 float로 변수 선언을 ..

#1[못품]백준 풀기 8958 : 문자열이 싫어요 (feat. 엔터) - c 언어

이제 대학교에 입학하고 프로그래밍을 배우기 시작한지 어엇 반년째, 벌써 1학기라는 시간이 지났고 학점은 잘 받았지만 방학이 된 나에게는 아직 걸음마만 뗀 나의 코딩 실력만이 남아있었다. 일단 나의 목표는 개발자로 취업하는 것이었기에, 방학동안 백준문제 단계별로 풀어보기를 해보기로 했다. 이번에 풀어볼 백준문제는 3052번 패배를 맛보고 그 이후 번호의 8958 ox퀴즈 문제를 풀어보기로 하였다. 이 문제는 예전에 한번 풀어봤던 문제와 비슷했으나 그 문제는 0과 1로 이루어졌던 것이었고 이번엔 문자인 O와 X로 이루어져있다. 또한 그때 어떻게 풀었는지 지금은 전혀 생각이 나지 않는다 그래서 일단 처음부터 다시 생각해 보기로 했다. 전체적인 문제의 틀은 이렇다. #include int main(){ int ..