😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[BAEKJOON C++] 2495_연속ꡬ간 λ³Έλ¬Έ

πŸ¦₯ μ½”ν…Œ/BAEKJOON

[BAEKJOON C++] 2495_연속ꡬ간

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 7. 25. 17:54
728x90
λ°˜μ‘ν˜•
μ—¬λŸ μžλ¦¬μ˜ μ–‘μ˜ μ •μˆ˜κ°€ μ£Όμ–΄μ§ˆ λ•Œ, κ·Έ μ•ˆμ—μ„œ μ—°μ†ν•˜μ—¬ κ°™μ€ μˆ«μžκ°€ λ‚˜μ˜€λŠ” κ²ƒμ΄ μ—†μœΌλ©΄ 1을 μΆœλ ₯ν•˜κ³ , 
있으면 κ°™μ€ μˆ«μžκ°€ μ—°μ†ν•΄μ„œ λ‚˜μ˜€λŠ” κ΅¬κ°„ μ€‘ κ°€μž₯ κΈ΄ κ²ƒμ˜ κΈΈμ΄λ₯Ό μΆœλ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λΌ.

예λ₯Ό λ“€μ–΄ μ„Έ κ°œμ˜ μˆ«μž 12345123, 17772345, 22233331이 μ£Όμ–΄μ‘Œλ‹€κ³  ν•˜μž. 
12345123은 μ—°μ†ν•˜μ—¬ κ°™μ€ μˆ«μžκ°€ λ‚˜μ˜€λŠ” κ²ƒμ΄ μ—†μœΌλ―€λ‘œ 1을 μΆœλ ₯ν•˜κ³ , 
17772345λŠ” 7이 μ„Έ κ°œ μ—°μ†ν•˜μ—¬ λ‚˜μ˜€λ―€λ‘œ 3을 μΆœλ ₯ν•˜λ©°, 
22233331의 κ²½μš°μ—λŠ” 2κ°€ μ„Έ κ°œ, 3이 λ„€ κ°œ μ—°μ†ν•΄μ„œ λ‚˜μ˜€λ―€λ‘œ κ·Έ μ€‘ ν° κ°’인 4λ₯Ό μΆœλ ₯

μž…λ ₯
첫째 μ€„λΆ€ν„° μ…‹μ§Έ μ€„κΉŒμ§€ κ° μ€„에 ν•˜λ‚˜μ”© μ„Έ κ°œμ˜ μ—¬λŸ μžλ¦¬ μ–‘μ˜ μ •μˆ˜κ°€ μ£Όμ–΄μ§„λ‹€.

좜λ ₯
첫째 μ€„μ—μ„œ μ…‹μ§Έ μ€„κΉŒμ§€ ν•œ μ€„에 ν•˜λ‚˜μ”© κ° μž…λ ₯된  μˆ˜ λ‚΄μ—μ„œ 
같은 μˆ«μžκ°€ μ—°μ†ν•˜μ—¬ λ‚˜μ˜€λŠ” κ°€μž₯ κΈ΄ κΈΈμ΄λ₯Ό μž…λ ₯ μˆœμ„œλŒ€λ‘œ μΆœλ ₯ν•œλ‹€.
// [2495] 연속ꡬ간

/*
μ—¬λŸ 자리의 μ–‘μ˜ μ •μˆ˜κ°€ μ£Όμ–΄μ§ˆ λ•Œ, κ·Έ μ•ˆμ—μ„œ μ—°μ†ν•˜μ—¬ 같은 μˆ«μžκ°€ λ‚˜μ˜€λŠ” 것이 μ—†μœΌλ©΄ 1을 좜λ ₯ν•˜κ³ , 
있으면 같은 μˆ«μžκ°€ μ—°μ†ν•΄μ„œ λ‚˜μ˜€λŠ” ꡬ간 쀑 κ°€μž₯ κΈ΄ κ²ƒμ˜ 길이λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λΌ.

예λ₯Ό λ“€μ–΄ μ„Έ 개의 숫자 12345123, 17772345, 22233331이 μ£Όμ–΄μ‘Œλ‹€κ³  ν•˜μž. 
12345123은 μ—°μ†ν•˜μ—¬ 같은 μˆ«μžκ°€ λ‚˜μ˜€λŠ” 것이 μ—†μœΌλ―€λ‘œ 1을 좜λ ₯ν•˜κ³ , 
17772345λŠ” 7이 μ„Έ 개 μ—°μ†ν•˜μ—¬ λ‚˜μ˜€λ―€λ‘œ 3을 좜λ ₯ν•˜λ©°, 
22233331의 κ²½μš°μ—λŠ” 2κ°€ μ„Έ 개, 3이 λ„€ 개 μ—°μ†ν•΄μ„œ λ‚˜μ˜€λ―€λ‘œ κ·Έ 쀑 큰 값인 4λ₯Ό 좜λ ₯

μž…λ ₯
첫째 쀄뢀터 μ…‹μ§Έ μ€„κΉŒμ§€ 각 쀄에 ν•˜λ‚˜μ”© μ„Έ 개의 μ—¬λŸ 자리 μ–‘μ˜ μ •μˆ˜κ°€ 주어진닀.

좜λ ₯
첫째 μ€„μ—μ„œ μ…‹μ§Έ μ€„κΉŒμ§€ ν•œ 쀄에 ν•˜λ‚˜μ”© 각 μž…λ ₯된  수 λ‚΄μ—μ„œ 
같은 μˆ«μžκ°€ μ—°μ†ν•˜μ—¬ λ‚˜μ˜€λŠ” κ°€μž₯ κΈ΄ 길이λ₯Ό μž…λ ₯ μˆœμ„œλŒ€λ‘œ 좜λ ₯ν•œλ‹€.
*/

#define _CRT_SECURE_NO_WARNINGS
// ν‘œμ€€ μŠ€νŠΈλ¦Όμ—μ„œ 읽기 및 μ“°κΈ°λ₯Ό μ œμ–΄ν•˜λŠ” 개체λ₯Ό μ„ μ–Έ
#include <iostream>
#include <algorithm>    // find
#include <string>
#include <cmath>        // abs
#include <vector>
using namespace std;

int main() {
    string str;

    for (int i = 0; i < 3; i++) {
        cin >> str;
        int cnt = 1;
        int max = 1;

        for (int i = 0; i < str.length() - 1; i++) {
            if (str[i] == str[i + 1]) {
                cnt++;

                if (cnt > max) {
                    max = cnt;
                }
            }
            else {      
                cnt = 1;  // 연속ꡬ간이 μ—†μœΌλ©΄ 1 좜λ ₯
            }
        }
        cout << max << "\n";
    }
}

728x90
λ°˜μ‘ν˜•
Comments