세자리 숫자라는 것을 생각하고 쉽게 나머지 연산과 나누기 연산을 섞어서 사용하면 금방 푼다. #include #include using namespace std; int reverseNum(int num){ int rNum = 0; rNum += 100 * (num % 10); num /= 10; rNum += 10 * (num % 10); num /= 10; rNum += num; return rNum; } int main(){ int A, B; cin >> A >> B; A = reverseNum(A); B = reverseNum(B); if(A > B) cout A) cout
알고리즘/백준(BOJ)
이 문제 또한 ASCII 코드값을 사용하면 풀 수 있다. 입력되는 문자열의 소문자, 대문자는 구분하지 않고 어떤 알파벳이 몇 번 사용되었는지만 계산하는 문제이기 때문에 26사이즈의 1차원 배열을 생성한다. 문자가 ASCII 코드값을 사용하여 65~90 사이의 값이면 대문자로 취급, 97~122이면 소문자로 취급하여 대문자일 경우에는 문자에 65를 빼주고, 소문자면 97를 빼주어서 어떤 알파벳이 몇 번 사용되었는지만 확인하고, 가장 많이 사용된 문자를 찾는다. 가장 많이 사용된 문자의 등장 횟수가 다른 알파벳의 등장 횟수와 같으면 ?이고 아니면 가장 많이 사용된 문자를 출력해주면 된다. #include using namespace std; int main(){ string s; cin >> s; int a..
백준 2675 문자열 반복을 풀기 위해서 int 형과 string 형 vector를 따로 구성했다. int 형 vector에는 반복 숫자가, string형 vector에는 반복될 문자열을 저장한다. 각각의 vector는 첫 번째 줄에서 입력된 수만큼 사이즈가 형성된다. 3중 for문으로 반복문을 생성하고, 총 첫 번째 입력된 수만큼 반복을 하고, 각 string의 한 글자 한 글자를 입력된 반복 숫자만큼 반복하여 출력해주면 해결 가능하다. #include #include using namespace std; int main(){ int N; cin >> N; vector arrInt; vector arrString; for(int i = 0; i < N; i++){ int tempInt; string t..
백준 10809 알파벳 찾기 문제는 아래와 같다. ``` 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. ``` 나의 접근은 ascii code값으로 하였다. 소문자 a는 ascii code 10진수 값으로 97이다. 먼저 alphabet 개수만큼의 사이즈로 1차원 배열을 생성하고, fill_n(arr, size, value) 함수를 이용하여 -1로 초기화하였다. fill_n 함수는 같은 값으로 배열 초기화하기 좋은 함수이다. 그리고 string s 에서 한 단어 한 단어를 97과 빼주면 몇 번째 알파벳인지를 알 수 있다. 여기서 구한 값에 해당하는 alpha..