본문 바로가기

백준/C++

[C++] 백준 7567번 - 그릇

728x90

 

으으... 이틀동안 몸살때문에 앓다가 이제야 살 것 같다...

몸이랑 머리가 너무 아프고 열도 너무 심하게 났다.

(약먹고 계속 자면서 푹 쉬니까 이제야 살 것 같아)

 

 

문제 7567번

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

 

7567번: 그릇

그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다.

www.acmicpc.net

 

높이(height)를 10, now를 비교할 전 접시(dish[i-1])로 초기화해준다. 높이를 10으로 초기화해줬기 때문에 인덱스 i는 1부터 시작해준다. 그리고 now와 비교할 다음 접시(dish[i])가 같으면 높이에 5를 더해주고, 다르면 10을 더해준다. 그렇게 접시개수만큼 반복해주고 출력해주면 끝~~~~ 

 

#include <iostream>
#include <string>
using namespace std;

int main() {
	string dish;
	char now;
	int height = 10;
	cin >> dish;
	for (int i = 1; i < dish.length(); i++) {
		now = dish[i-1];
		if (now == dish[i]) {
			height += 5;
		} else if (now != dish[i]) {
			height += 10;
		}
	}
	cout << height;

	return 0;
}

 

 

하면서 now를 사용 안 하고 '(',')'를 직접 비교해주거나 인덱스를 0부터 시작하는 실수가 있었지만... 발견하고 수정했으니까^^

728x90

'백준 > C++' 카테고리의 다른 글

[C++] 백준 1225번 - 이상한 곱셈  (0) 2024.04.15
[C++] 백준 1264번 - 모음의 개수  (0) 2024.04.14
[C++] 백준 4999번 - 아!  (0) 2024.04.09
[C++] 백준 2935번 - 소음  (0) 2024.04.08
[C++] 백준 2744번 - 대소문자 바꾸기  (0) 2024.04.07