[ 파이썬(python) ] 백준 1085 - 직사각형에서 탈출
📍 백준 1085 - 직사각형에서 탈출 백준 1085 - 직사각형에서 탈출 💡 나의 풀이 직사각형의 경계선까지 이동하면 되는데, 결론적으로 경계선( w 혹은 h)에 더 가까운 수를 구하면 된다. 또한 직사각형이기 때문에 대각선은 고려하지 않는다. 나의 코드에서 b의 min(x-0, y-0)은 min(x, y)와 동일하지만 사고 흐름을 남겨놓고 싶어 0을 붙였다. 더욱 간결하게 작성하려면 다른 사람의 코드를 참고하자. # 나의 코드 x, y, w, h = map(int, input().split()) a = min(w - x, h - y) b = min(x - 0, y - 0) print(min(a, b)) # 다른사람의 코드 x, y, w, h = map(int, input().split()) print..
2021. 6. 8.
[ 파이썬(Python) ] 나머지(%) 사용할 때 조건 추가하기
📍 나머지(%) 사용할 때 조건 추가하기 저번에 풀었던 boj 1009 - 분산처리 문제와 이것과 비슷했던문제인 boj 10250 - ACM 호텔 역시 동일하게 나머지(%)를 사용하면 나머지 조건을 추가해줘야 한다. 예를 들어, arr = [-3333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ...] 처럼 표현하고 싶다면 (arr[1]부터 세기 위해 arr[0]에 -3333을 넣었다.) 해당 패턴은 index의 값은 10으로 나눈 나머지가 될 것이다. 하지만 단순하게 나머지 값만 추가하면 arr[10]은 10이 아니라 0이 된다. 이 때문에 나머지를 사용해서 수를 셀 때는 나머지 조건을 붙여줘야 한다. 다음 코드처럼 말이다. index..
2021. 6. 7.
[ 파이썬(Python) ] 함수(def)에서 return 인자의 수가 다를 때
📍 함수(def)에서 return 인자의 수가 다를 때 코딩 테스트 문제를 풀다 보면 False일때 -1만 return 시키고 True면 a, b처럼 1개 이상을 return해야 할 때 다음과 같이 작성할 수 있다. 만약, a+b값이 20을 넘으면 a, b을 리턴해야하고, 아니면 -1을 리턴해야한다면 다음과 같은 코드가 될 것이다. a, b = map(int, input().split()) def check(): if a + b >= 20: return a, b else: return -1 print(check()) 하지만, -1의 리턴값에 임의의 수 0을 넣고 똑같이 2개를 리턴하게 작성한 다음 첫 번째 값이 -1이면 -1을 출력시키고 아니면 c, d를 출력하게 할 수 있다. a, b = map(int..
2021. 6. 7.