본문 바로가기

Swfit2

[Swift][BFS] 백준 12869번 (뮤탈리스크) 요구능력 : BFS 코드설명 : 문제풀이는 유튜브 큰돌의터전님께서 정말 잘 설명해놓으셨다. 이보다 잘설명하기는 어려울것 같아서 혹시나 어떤방식으로 풀리는지 모르겠는 사람은 유튜브를 들어가보시길.. SCV가 3대 있다고 가정하고, 뮤탈리스크는 1번 SCV를 먼저 칠 수도있고, 2번 SCV를 먼저 칠 수도있고, 3번 SCV를 먼저 칠 수도있다. 그렇다면 뮤탈리스크가 공격하는 경우의 수는 총 6가지가 나오게된다. let damage = [[1, 3, 9], [1, 9, 3], [3, 1, 9], [3, 9, 1], [9, 1, 3], [9, 3, 1]] 나는 N이 1~3까지 밖에 없길래 그냥 큐를 튜플 3개로 선언하고 arr이 3보다 작은경우에는 나머지칸에 0을 넣어줬다. if arr.count == 1 { .. 2022. 1. 17.
[Swift][DP] 백준 1495번 (기타리스트) 요구능력 : DP활용 코드설명 : 문제에서의 핵심 현재 볼륨이 P이고 지금 i번째 곡을 연주하기 전이라면, i번 곡은 P+V[i]나 P-V[i] 로 연주해야 한다. 하지만, 0보다 작은 값으로 볼륨을 바꾸거나, M보다 큰 값으로 볼륨을 바꿀 수 없다. 점화식 dp[i][j] = i는 몇번째 곡 인지, j는 볼륨이다. dp[3][4] = true 이면 3번째곡에서 4의 볼륨을 공연할수 있다는 의미이다. 후기 : dp에 true/false를 넣는것부터 참신한 문제..?인것같다. 진짜 점화식만 잘세우면 푸는문제.. let nsm = readLine()!.split(separator: " ").map{Int(String($0))!} let n = nsm[0] //연주할 곡의 개수 let s = nsm[1] //.. 2022. 1. 11.