상세 컨텐츠

본문 제목

[HackerRank] Alternating Characters (String Manipulation) (C++, Python)

PROGRAMMING/Algorithm

by koharin 2021. 1. 17. 18:42

본문

728x90
반응형

C++


#include <bits/stdc++.h>

using namespace std;

// Complete the alternatingCharacters function below.
int alternatingCharacters(string s) {
    int c=0;
    for(int i=0; i!=s.size(); i++){
        if(s[i]==s[i+1]) c += 1;
    }
    return c;

}

int main()
{
    ofstream fout(getenv("OUTPUT_PATH"));

    int q;
    cin >> q;
    cin.ignore(numeric_limits<streamsize>::max(), '\n');

    for (int q_itr = 0; q_itr < q; q_itr++) {
        string s;
        getline(cin, s);

        int result = alternatingCharacters(s);

        fout << result << "\n";
    }

    fout.close();

    return 0;
}
  • i번째와 i+1를 비교했을 때 같으면 제거하는 개수 카운팅을 증가한다.
  • 이렇게 해서 최종으로 개수를 반환하면 된다.

 

Python


#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the alternatingCharacters function below.
def alternatingCharacters(s):
    count=0
    for i in range(len(s)-1):
        if s[i] == s[i+1]:
            count += 1
    return count

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    q = int(input())

    for q_itr in range(q):
        s = input()

        result = alternatingCharacters(s)

        fptr.write(str(result) + '\n')

    fptr.close()
728x90
반응형

관련글 더보기