본문 바로가기

백준

7567 그릇

전에 주석문제를 푼 적이 있었는데 그때는 상태에 따라 계산했었다. 이 문제도 그렇게 풀까 했는데 어짜피 문자열 통으로 받으니깐 바로 앞의 값이랑 비교하기로 했다. 먼저 첫 그릇의 높이는 10으로 두고 다음 접시와 이전 접시와 비교해서 값을 더해나갔다. 

 

 

#include <iostream>

using namespace std;

int main() {
    int hight = 10;
    string str;
    cin >> str;
    
    for(int i = 1; i < str.length(); i++){
        if(str[i-1] == str[i])
            hight += 5;
        else
            hight += 10;
    }
    printf("%d", hight);
}

코드도 간단하다.

 

(+)

strlen()함수는 문자열 길이를 그때마다 계산하기 때문에 이것보다는 string을 써서 str.length()를 사용하는게 좋다. (그런 이유로 앞으로 string과 친해지도록 노력할것임)

'백준' 카테고리의 다른 글

11718 그대로 출력하기  (0) 2019.10.11
1373 2진수 8진수  (0) 2019.10.09
6539 만취한 상범  (0) 2019.10.09
1037 약수  (0) 2019.10.09
1100 하얀칸  (0) 2019.10.08