작성일 :

문제 링크

7567번 - 그릇

설명

연속된 접시들이 쌓일 때, 전체 높이를 계산하는 구현 문제입니다.

  • 각 접시는 문자 '(' 또는 ')'로 표현됩니다.
  • 같은 방향의 접시가 연속될 경우 높이는 5만 증가하며,
  • 다른 방향의 접시가 쌓이면 높이는 10만큼 증가합니다.
  • 처음 접시는 높이 10부터 시작합니다.

접근법

  • 첫 문자를 기준으로 높이를 10으로 초기화합니다.
  • 이후 두 번째 문자부터 끝까지 문자열을 순회하며,
    • 이전 문자와 같으면 +5, 다르면 +10을 누적합니다.
  • 최종 높이를 출력합니다.

Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;

class Program {
  static void Main() {
    string str = Console.ReadLine();
    int sum = 10;
    for (int i = 1; i < str.Length; i++) {
      if (str[i] == str[i - 1])
        sum += 5;
      else
        sum += 10;
    }
    Console.WriteLine(sum);
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  string str; cin >> str;
  int sum = 10;
  for (size_t i = 1; i < str.size(); i++) {
    if (str[i] == str[i - 1]) sum += 5;
    else sum += 10;
  }
  cout << sum << "\n";

  return 0;
}