본문 바로가기
백준

[백준] 7567번 : 그릇 – JAVA [자바]

by Hongwoo 2022. 4. 28.
반응형

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

 

7567번: 그릇

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

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 7567번 그릇은 브론즈 2 난이도의 구현 및 문자열 문제이다. 이 문제는 그리고 한국 정보올림피아드 2013 초등부에 나왔던 문제이기도 하다. 이 문제에서는 '('와 ')'로만 이루어진 문자열이 주어진다. 이거는 그릇을 뜻하는 문자열이고 이 그릇의 높이를 계산해서 구하면 된다.

 

우선 '('나 ')' 1개가 있으면 높이는 10이다. 즉, 높이 10부터 시작한다. 그리고 for-loop을 생성해서 i = 1부터 i = s.length() - 1까지 돌린다. 이 for-loop안에서 그 전 인덱스의 캐릭터를 서로 비교하면서 높이를 더해주면 된다. 즉, s.charAt(i) == s.charAt(i-1)이면 5를 더해주고 아니면 10을 더해준다. 그리고, 마지막에 높이를 출력해주면 되는 간단한 문제이다. 자세한 코드는 밑에 있는 코드를 참고하면 되겠다.

 


  • 코드

 

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine();
        int height = 10;
        for (int i = 1; i < s.length(); i++) {
            if (s.charAt(i) == s.charAt(i-1)) {
                height += 5;
            } else {
                height += 10;
            }
        }
        System.out.print(height);
    }
}

 


  • 후기

예전에 codingbat.com에서 많이 풀어본 문제 유형이어서 쉽게 풀 수 있었다.

 

 

반응형

댓글