λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
✨ Algorithm

[λ°±μ€€/C++] 2908 : μƒμˆ˜ - reverse, atoi, to_string μ‚¬μš©

by nitronium102 2021. 7. 18.

문제

μƒκ·Όμ΄μ˜ 동생 μƒμˆ˜λŠ” μˆ˜ν•™μ„ 정말 λͺ»ν•œλ‹€. μƒμˆ˜λŠ” 숫자λ₯Ό μ½λŠ”λ° λ¬Έμ œκ°€ μžˆλ‹€. μ΄λ ‡κ²Œ μˆ˜ν•™μ„ λͺ»ν•˜λŠ” μƒμˆ˜λ₯Ό μœ„ν•΄μ„œ μƒκ·Όμ΄λŠ” 수의 크기λ₯Ό λΉ„κ΅ν•˜λŠ” 문제λ₯Ό λ‚΄μ£Όμ—ˆλ‹€. μƒκ·Όμ΄λŠ” μ„Έ 자리 수 두 개λ₯Ό μΉ νŒμ— μ¨μ£Όμ—ˆλ‹€. κ·Έ λ‹€μŒμ— 크기가 큰 수λ₯Ό 말해보라고 ν–ˆλ‹€.

μƒμˆ˜λŠ” 수λ₯Ό λ‹€λ₯Έ μ‚¬λžŒκ³Ό λ‹€λ₯΄κ²Œ 거꾸둜 μ½λŠ”λ‹€. 예λ₯Ό λ“€μ–΄, 734와 893을 μΉ νŒμ— μ μ—ˆλ‹€λ©΄, μƒμˆ˜λŠ” 이 수λ₯Ό 437κ³Ό 398둜 μ½λŠ”λ‹€. λ”°λΌμ„œ, μƒμˆ˜λŠ” 두 μˆ˜μ€‘ 큰 수인 437을 큰 수라고 말할 것이닀.

두 μˆ˜κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, μƒμˆ˜μ˜ λŒ€λ‹΅μ„ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 상근이가 μΉ νŒμ— 적은 두 수 A와 Bκ°€ 주어진닀. 두 μˆ˜λŠ” 같지 μ•Šμ€ μ„Έ 자리 수이며, 0이 ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•Šλ‹€.

좜λ ₯

첫째 쀄에 μƒμˆ˜μ˜ λŒ€λ‹΅μ„ 좜λ ₯ν•œλ‹€.

풀이

01. μž…λ ₯을 string으둜 λ°›μ•„μ„œ reverse ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 방법

#include <algorithm>
reverse ν•¨μˆ˜ : reverse(s.begin(), s.end())
sλŠ” string
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
    string num1, num2;
    cin >> num1 >> num2;

    reverse(num1.begin(), num1.end());
    reverse(num2.begin(), num2.end());

    if (num1 > num2)
        cout << num1;
    else
        cout << num2;
}

02. μž…λ ₯을 μ •μˆ˜λ‘œ λ°›κ³  to_string, atoiλ₯Ό μ‚¬μš©ν•˜λŠ” 방법

to_string() : μ •μˆ˜ -> λ¬Έμžμ—΄
atoi() : λ¬Έμžμ—΄ -> μ •μˆ˜

- string s = to_string(int)

- int atoi(const char* cStr) : <cstdlib> 헀더

 -> <string>헀더λ₯Ό μ‚¬μš©ν–ˆμ„ κ²½μš°μ—λŠ” int atoi(c_str(int))λ₯Ό μ΄μš©ν•΄μ•Ό 함

 

https://www.acmicpc.net/problem/2908

 

2908번: μƒμˆ˜

μƒκ·Όμ΄μ˜ 동생 μƒμˆ˜λŠ” μˆ˜ν•™μ„ 정말 λͺ»ν•œλ‹€. μƒμˆ˜λŠ” 숫자λ₯Ό μ½λŠ”λ° λ¬Έμ œκ°€ μžˆλ‹€. μ΄λ ‡κ²Œ μˆ˜ν•™μ„ λͺ»ν•˜λŠ” μƒμˆ˜λ₯Ό μœ„ν•΄μ„œ μƒκ·Όμ΄λŠ” 수의 크기λ₯Ό λΉ„κ΅ν•˜λŠ” 문제λ₯Ό λ‚΄μ£Όμ—ˆλ‹€. μƒκ·Όμ΄λŠ” μ„Έ 자리 수 두

www.acmicpc.net


https://blockdmask.tistory.com/331

 

[Cμ–Έμ–΄/C++] atoi, atof, atol ν•¨μˆ˜ (char* to int)

μ•ˆλ…•ν•˜μ„Έμš”. BlockDMask μž…λ‹ˆλ‹€. μ˜€λŠ˜μ€ C, C++μ—μ„œ λ¬Έμžμ—΄μ„ 숫자(μ •μˆ˜, μ‹€μˆ˜)둜 λ³€ν™˜ν•˜λŠ” ν•¨μˆ˜λ“€μ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. (C/C++ μ—μ„œ string -> char* -> int λ‘œ λ³€κ²½? [λ°”λ‘œκ°€κΈ°]) (C++μ—μ„œ int -> strin..

blockdmask.tistory.com

 

λŒ“κΈ€