[문제풀이] 백준 #14652 나는 행복합니다~ Java 풀이

kai6666·2022년 7월 10일
0

👉 문제

“나는 행복합니다~ 한화라서 행복합니다~”

행복한 이 노래 가사! 그렇다. 욱제는 한화 이글스의 열렬한 이다. 욱제는 여름방학을 맞아 치킨과 맥주를 챙겨 야구장을 방문했다! 하지만 이게 웬걸? 치맥에 정신이 팔린 욱제는 그만 자신의 관중석 위치가 담긴 티켓을 잃어버리고 말았다. 욱제가 유일하게 기억하는 것이라고는 자신의 관중석 번호 K뿐이다.

당신은 한화 이글스의 감독이다. 열혈인 욱제의 방문에 깊은 감동을 받은 당신은 욱제가 잃어버린 자리를 찾아주려고 한다. 오늘 경기가 펼쳐지는 잠실구장은 세로 길이가 N, 가로 길이가 M인 N≤M 크기의 관중석을 가지고 있다. 관중석의 왼쪽 위는 (0, 0), 오른쪽 아래는 (N-1, M-1)으로 표시된다. 각 관중석에는 번호가 아래 그림처럼 매겨져있다. (0, 0)에서부터 0번으로 시작하여 오른쪽으로, 끝에 다다르면 그 아래에서 또 오른쪽으로 숫자가 증가해나가는 식이다.

당신은 관중석의 크기와 욱제 자리의 번호를 알고 있다. 욱제가 잃어버린 자리는 어디일까? 자리를 찾아서 욱제에게 알려주도록 하자!

입력:
첫째 줄에 관중석의 크기를 나타내는 N, M과 잃어버린 관중석 번호를 나타내는 K가 주어진다. (1 ≤ N, M ≤ 30,000, 0 ≤ K ≤ N×M-1)

출력:
욱제의 잃어버린 자리를 찾아서, 잃어버린 자리의 좌표 (n, m)를 하나의 공백을 사이에 두고 숫자만 출력한다.


✨ 풀이

  • 통과된 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class BaekJoon14652 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String arg = br.readLine();
        StringTokenizer st = new StringTokenizer(arg, " ");
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        int find = Integer.parseInt(st.nextToken());

        int x = find / m;
        int y = find % m;
        System.out.println(x + " " + y);

        //입력: 6 4 14
        //출력: 3 2

    }
}

풀이 노트:

  • 보드 만들어 좌표 찾기류의 문제를 최근에 풀어 무의식적으로 나눗셈과 몫으로 구하면 되겠는데? 생각이 들어 풀었다.
  • 그래도 수학적 원리에 대해 생각해보자면, x 좌표는 찾고자 하는 좌석(숫자)에서 열의 개수만큼 뺀 수다. 6을 찾고자 하는데 열 개수가 1번밖에 못 빼니까 1이다. y 좌표는 찾고자 하는 좌석(숫자)이 열의 시작점으로부터 세로로 얼마나 떨어져 있는지를 나타내니 열의 개수로 나눴을 때 몫이 된다.
profile
성장 아카이브

0개의 댓글

관련 채용 정보