관리 메뉴

솜씨좋은장씨

[BaekJoon] 14652번 : 나는 행복합니다~ (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 14652번 : 나는 행복합니다~ (Python)

솜씨좋은장씨 2022. 6. 3. 20:58
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 나는 행복합니다~ 입니다.

 

14652번: 나는 행복합니다~

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

www.acmicpc.net

👨🏻‍💻 문제풀이

N과 M 그리고 K 가 주어졌을때 N X M 사이의 숫자 중에 어느 위치 ( 좌표 ) 에 K 가 있는지 찾는 문제입니다.

이 문제는 배열의 find를 활용하여 문제를 풀려고 하면 시간초과가 발생합니다.

 

저 숫자들이 배열되어있는 규칙을 찾으면! 시간초과 없이 아주 간단하게 풀 수 있습니다.

i + j * M = K

K 는 위와 같은 공식으로 구해지게 됩니다.

여기서 우리가 구해야하는 값은 i와 j 이므로 

i = K % M / j = K // M

i 는 K를 M으로 나눈 나머지 값 / j 는 K 를 M으로 나누었을 때의 몫이 됩니다.

👨🏻‍💻 코드 ( Solution )

def i_am_happy(N, M, K):
    # i + j * M = K
    i = K // M 
    j = K % M
    
    return f"{i} {j}"


if __name__ == "__main__":
    N, M, K = map(int, input().split())
    print(i_am_happy(N, M, K))

 

 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments