Algorithm 썸네일형 리스트형 [백준] 2947번 : 나무 조각 - C/C++ 문제를 읽고 어떻게 접근해야할지 생각했는데생각보다 간단했다. 입력을 받고, 첫 번째와 두 번째 수를 비교하고 그 다음 수를 비교하고..근데 문제가 생겼다. 동작이 잘 될 줄 알고if문으로 구현했는데 한 번씩만 인접한 배열을 비교하는 것이었다. 결국 출력은 아래처럼.. 나오게 된다.틀렸다는 뜻. 간단하다고 말했던 걸 후회한다.나는 풀이과정을 다시 생각해야했다.. 많은 고민을 하다가 if문이 아닌 다른 방법이 있을까.. 했는데bubble sort(버블 정렬)이 생각났다. 버블 정렬로 풀어보자.버블 정렬의 핵심은 다음과 같다. 버블 정렬은 인접한 두 개의 원소를 비교하여, 마지막 원소까지 늘려가며 정렬하는 알고리즘이다. 알고리즘은 아래의 4단계를 거쳐 실행된다. 1. 첫 번째 원소와 두 번째 원소 비교2. 첫.. 더보기 [백준] 10817번 : 세 수 - C/C++ 문제를 보자마자 어떻게 풀어야할지 생각이 딱 난다면,,,그건 구현 문제일 가능성이 크다.(정말 개인적인 생각) 문제에서 말하는 대로 따라가면 지난번 글과 같이 쉽게 해결 가능하다. 두 가지 방식으로 위의 문제는 해결 가능하다. 1. int형으로 정수 A,B,C 입력 받아서 비교하기2. int형의 배열에 값 입력받아서 정렬 후 비교하기 다른 방법이 있을 수 있겠다만 나는 두 가지 밖에 생각이 안 났다. 문제에서 두 번째로 큰 정수를 출력하라고 했다.1번 방식으로 풀게 되면 if문을 사용해서 수를 직접 비교해야겠지만,2번 방식으로 풀게 되면 정렬해서 풀 수 있다. 나는 복잡한 건 싫다.내장함수를 최대한 활용하겠다.2번 방식으로 풀어보자. 배열에 값 입력하기int ary[3]; for(int i=0;i.. 더보기 [백준] 2744번 : 대소문자 바꾸기 - C/C++ 여러가지 상황이 복잡하게 섞여있는 문제가 아니라 그냥 구현만 하면 되는 문제.머릿속에서 '이렇게 하면 되겠다' 라는 생각이 바로 떠올랐다.바로 떠오를 것도 없다.문제를 따라가면 되니까.. 순서는 다음과 같다.1. 배열로 문자열 입력 받기2. 소문자 대문자 전환해주기3. 결과 출력 문제에서 단어 길이는 최대 100이라고 했으니, 아래처럼 설정해주자.char st[101];cin >> st;입력도 받았다면, 검증하기. 지난 글에서도 다루었지만, 알파벳은 아스키(ASCII) 코드로 저장된다.특정 알파벳은 특정 숫자와 매칭된다는 것이다.대문자와 소문자는 정확히 32라는 차이가 난다.코드로 구현해보자.for(int i=0;i= 'A' && st[i] = 'a' && st[i] 이런.. 너무나 쉽게 .. 더보기 [백준] 2693번 : N번째 큰 수 - C/C++ 문제를 읽고 해결 과정을 순차적으로 생각해 보았다. 1. 입력받고자하는 테스트 케이스 N 입력2. 크기가 10인 배열 선언3. 반복문을 돌면서 배열에 값 넣기4. 오름차순 혹은 내림차순으로 정렬5. 결과 출력 문제 풀이 시작.테스트 케이스 입력과 크기 10인 배열 선언고정된 크기의 배열 aryint n;int ary[10]; 반복문을 돌며 배열에 값은 입력하면 아래와 같다.for(int i=0;i> ary[j]; }} 배열에 값을 입력했으니, 정렬을 해야한다.정렬은 sort( , , ) 를 통해 구현할 수 있으며,c++에서의 sort는 quick sort(퀵 정렬)로 설정되어있다.#include ...sort(ary,ary+10); 기본이 오름차순이기 때문에 우리는 출력할 때 주의해야한다... 더보기 [백준] 2577번 : 숫자의 개수 - C/C++ 문제를 보고 어떻게 풀까, 고민을 했다.해결 과정은 아래와 같다. 1. int 형으로 A,B,C 3개의 수를 입력 받기2. 세 수의 곱셈 연산 수행3. 결과 값을 string으로 바꾸기4. 배열을 순회하며 숫자 개수 세기5. 결과 출력 내가 마주한 고비는 연산한 Int형 정수를 어떻게 string으로 바꾸어야 하는지부터 시작했다. 근데 진짜 쉽다.을 include 해주고, 원하는 값을 to_string(); 안에 넣어주기만 하면 된다.#include ...int main(){ int a,b,c; cin >> a >> b >> c; int mul; mul = a*b*c; string mulStr = to_string(mul);...} 그럼 다음 순서.배열을 순회하며 0이 몇 번, 1부터 9까지 각.. 더보기 이전 1 2 3 4 다음