[백준 / BOJ] 2477번 참외밭 (C++, Python)◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 3. 20:30
Table of Contents
반응형
링크 : https://www.acmicpc.net/problem/2477
문제
문제 풀이
나는 좀 다르게 풀었는데, 정석적인 방법은
"육각형이므로 가로, 세로의 최댓값이 나온 시점에서 '가로의 index에서 +3, +4 index의 요소들이 작은 사각형의 가로, 세로'" 라고 한다.
그림을 그려보니 아~ 그렇네 싶지만 솔직히 어떻게 발견하나 싶다. 일단 알아만 두어야겠다.
point라는 별개의 배열을 만들어서 동서남북이 1, 2, 3, 4로 주어진다 했으니 카운트를 해 주었다. 한 번씩 나온 length는 가장 긴 변일 테니 곱한다.
4 50
2 160
3 30
1 60 3과 3 사이!
3 20 1과 1 사이!
1 100
예시를 보면 규칙을 알 수 있는데, 중복인 방위 사이의 요소가 작은 사각형의 요소라는 것을 알 수 있다. 사실 다른 육각형도 그려보면서 시행착오로 알아냈다. 실버 3 문제가 맞나 싶다.. 어찌되었건 그래서 위에서 색칠한 부분이 작은 사각형의 요소이다.
파이썬은 count라는 좋은 메소드가 있어 조금 다르게 풀었는데, 근본적으로는 같은 아이디어다.
C++ 코드 전문
Python 코드 전문
소감
반응형
'◎ 자료구조와 알고리즘 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 / BOJ] 1004번 어린 왕자 (C++, Python) (0) | 2022.06.05 |
---|---|
[백준 / BOJ] 1002번 터렛 (C++, Python) (0) | 2022.06.04 |
[백준 / BOJ] 3009번 네 번째 점 (C++, Python) (0) | 2022.06.02 |
[백준 / BOJ] 1085번 직사각형에서 탈출 (C++, Python) (0) | 2022.06.02 |
[백준 / BOJ] 11478번 서로 다른 부분 문자열의 개수 (C++, Python) (0) | 2022.06.01 |
@Reo :: 코드 아카이브
자기계발 블로그