본문 바로가기

Next-Permutation3

[백준] 17281.⚾ 야구공 (java) / 시뮬레이션, Next-Permutation, 순열 @시뮬레이션, Next-Permutation, 순열 / 1h 30m 푸는건 1시간만에 풀었는데, 알고보니 문제를 잘못 이해했었다. 다시 풀어서 제출. Gold4로 되어있는데 생각보다 무난한 문제였다 문제 링크 https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종료되고, 두 팀이 공격과 수비를 서로 바꾼다. 두 팀은 경기가 시작하기 전까지 타순(타자가 타석에 서는 순서)을 정해야 하고, 경기 중에는 타순을 변경할 수 없다. 9번 타자까지 공을 쳤는데 3아웃이 발생하지 않은 상태면 이닝은.. 2020. 2. 12.
[SWEA] 4008.숫자 만들기 / Next-Permutation @Next-Permutation / 24m 넥퍼로 풀면 재귀보다 훨씬 효율적으로 풀 수 있는 문제다. 쉬운 문제였음! 문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeRZV6kBUDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 구현 방법 1. 연산자를 +는 0, -는 1, *는 2, /는 3으로 바꿔서 크기가 N - 1인 int 배열에 저장했다. 예를 들면, 문제에서 2 1 0 1 로 주어졌을 때 (1번 테케) 이를 크기가 4인 배열에 0 0 1 3 이렇게 저장하는 식이다. 이를 위해서 Arra.. 2020. 1. 26.
[백준] 17244.아맞다우산 (java) / BFS, Permutation @시뮬레이션 풀면서 permu + bfs, 완탐 이렇게 돌리면 터지지 않을까 고민하면서 풀었는데 돌려보니 의외로 빨라서 당황. 시간복잡도 계산하는 연습이 조금 더 필요할 듯 하다. 문제 자체는 크게 어렵지 않았는데, 챙겨야 하는 물건이 없을 수 있다는 점을 간과해서 런타임 에러가 떴고, 그걸 잡느라 조금 고생했다. 근데 또 물건이 없을 때에도 시작점과 도착점 사이에 벽이 있을 수 있다는 사실을 간과해서, 또 약간의 삽질을.. 문제 조건을 꼼꼼히 보는 습관을 들여야겠다. Gold 2라고 되어있어서 쫄았는데, 그정도 문제는 아닌 것 같고 bfs 연습하기 좋은 코드인 듯! # 구현 방법 1. 맵을 입력받으면서 물건의 위치를 ArrayList에 저장한다 2. 물건 개수 크기의 배열을 만들어서 nextPermut.. 2020. 1. 7.