profile
비전공자 개발자 지망생
post-thumbnail

[BOJ] 1726번(Python) - 로봇

문제 입력 첫째 줄에 공장 내 궤도 설치 상태를 나타내는 직사각형의 세로 길이 M과 가로 길이 N이 빈칸을 사이에 두고 주어진다. 이때 M과 N은 둘 다 100이하의 자연수이다. 이어 M줄에 걸쳐 한 줄에 N개씩 각 지점의 궤도 설치 상태를 나타내는 숫자 0 또는 1이 빈칸을 사이에 두고 주어진다. 다음 줄에는 로봇의 출발 지점의 위치 (행과 열의 번호)와 바라보는 방향이 빈칸을 사이에 두고 주어진다. 마지막 줄에는 로봇의 도착 지점의 위치 (행과 열의 번호)와 바라보는 방향이 빈칸을 사이에 두고 주어진다. 방향은 동쪽이 1, 서쪽이 2, 남쪽이 3, 북쪽이 4로 주어진다. 출발지점에서 도착지점까지는 항상 이동이 가능하다. 출력 첫째 줄에 로봇을 도착 지점에 원하는 방향으로

2023년 4월 4일
·
0개의 댓글
·
post-thumbnail

[BOJ] 1135번(Python) - 뉴스 전하기

문제 입력 첫째 줄에 직원의 수 N이 주어진다. 둘째 줄에는 0번 직원부터 그들의 상사의 번호가 주어진다. 0번 직원 (오민식)은 상사가 없기 때문에 -1이고, 나머지 직원 i의 상사 번호는 i보다 작거나 같은 음이 아닌 정수이다. N은 50보다 작거나 같은 자연수이다. 출력 첫째 줄에 모든 소식을 전하는데 걸리는 시간의 최솟값을 출력한다. ❗ 풀이 문제 접근 1 문제에서 대놓고 트리 구조인 것을 알려주었고, 자식 노드에서 걸린 시간이 부모 노드에게 영향이 가기 때문에, 다이나믹 프로그래밍을 활용하여 풀고자 했다. DP를 사용하는 것은 쉽지만 문제는 트리구조에서 어떻게 활용할지 였는데, 자식 노드가 여러 개일 경우, 자식 노드들이 가지고 있는 자식 노드

2023년 3월 29일
·
0개의 댓글
·

[BOJ] 2470번 - 두 용액

📜 문제 > 용액의 개수와 각 용액의 특성값이 주어졌을 때, 두 용액의 특성값을 합친 값이 0이거나 0에 가장 가까운 용액 두 개를 찾는 문제 문제 접근 처음 접근은 왼쪽 포인터와 오른쪽 포인터를 두고, 두 포인터에 해당하는 용액의 특성값의 합의 절대값이 기존 합의 최소값보다 클 경우 오른쪽 포인터를 한 칸 왼쪽으로 이동시키고, 반대의 경우에는 왼쪽 포인터를 오른쪽으로 한 칸 이동 시켰다. 코드 1 첫번째 접근 방식으로 풀이했을때, 코드를 다음과 같이 짰다. 계속 풀이를 하다보니, 이 방식은 아예 틀린 접근이라는 것을 알 수가 있었다. 데이터가 [-98 -97 -1 1 2 99] 이런식으로 들어왔을 경우, -1, 1이 정답인데 포인터가 -97, 99에서 더 이상 값을 개선하지 못하게 된다. 왼쪽 포인터와 오른쪽 포인터를 한 번에 한 칸씩 갱신하기 때문에 더 안쪽에 정답이 있어도 특성값의 합의 절대값이 더 크게 나와버려 로직이 종료되는 현상이

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

[BOJ] 1717번-집합의 표현(python)

문제 접근 전형적인 union - find 문제. 부모 노드를 해당 원소로 설정해놓고, command에 0이 들어올때마다 부모를 더 작은 숫자로 갱신해준다. 소스코드

2023년 3월 13일
·
0개의 댓글
·