백준177 [Swift][구현] 백준 2290번 (LCD Test) 요구능력 구현 문제풀이 1) 우선 arr배열에 s가 1일때 만들 수 있는 숫자의 형태를 모두 저장해줬다. 3차원 배열로 저장했고 " "의 경우에는 0으로 저장하고, "-"나 "|"의 경우에는 1로 저장하였다. 2) 규칙찾기 2로 나누어 떨어지는 곳은 "-"이다. 문제를 보면 알겠지만, 2로 나누어떨어지는 곳은 "-"이다. 그리고 2로 나누어 떨어지는 곳은 양쪽 끝이 " "이고, "-"문자가 s개만큼 생긴다. 그래서 문제에서 s + 2라고 한것이다. 2로 나누어 떨어지지 않는 곳은 "|"이다. 양쪽끝이 "|"이고, " "공백이 s개만큼 생긴다. 2로 나누어 떨어지는곳과 다른점은 2로 나누어 떨어지지 않는곳은 세로로 s줄만큼 더 생긴다는 것이다. 이게, 말로설명하고 그림으로 설명하는것보다 직접 코드를 쳐보면.. 2022. 4. 26. [Swift][시뮬레이션과 구현] 백준 15685번 (드래곤 커브) 요구능력 구현 문제풀이 엄청 잘 정리해놔주신분의 velog이다. 나도 저분의 게시글을 보고 공부했다. . . 후기 방향하나하나 생각못하고 한번에 돌리다가 시간을 낭비했다.. 규칙은 못찾았지만, 구조설계는 어느정도 맞게했다. 코드 var n = Int(String(readLine()!))!//드래곤커브개수 var arr = [[Int]]() for _ in 0.. 100 || j + 1 > 100{ continue } if visited[i][j] && visited[i + 1][j] && visited[i][j + 1] && visited[i + 1][j + 1]{ result += 1 } } } } print(result) 2022. 4. 25. [Swift][구현] 백준 14503번 (로봇청소기) 요구능력 구현 문제풀이 1) 그냥 입력받는 부분이다. let nm = readLine()!.split(separator: " ").map{Int(String($0))!} let n = nm[0] let m = nm[1] let rcd = readLine()!.split(separator: " ").map{Int(String($0))!} let r = rcd[0] let c = rcd[1] let d = rcd[2] var arr = [[Int]]() for _ in 0.. 서의경우는 따로 처리를 해줘야한다. ex) 현재 동쪽을 바라보고 있는 상태로 다음 칸으로 이동했다면 d = 1이다. 그렇다면 우리가 왼쪽을 바라봐야 하니까 d = 0이된다. 그럼 우리는 동쪽에서 왼쪽인 북쪽으로 이동을 해야된다는 것이다.. 2022. 4. 20. [Swift][Bruteforce] 백준 6064번(카잉 달력) 요구능력 효율적인 브루트포스, 유클리드호제법 문제풀이 처음에는 무작정 돌리다가 시간초과가 났는데, 그 이유는 시간복잡도가 O(N * M)이 되서 최악의 경우에는 40000 * 40000번이 돌아갔기 때문이다.. 그럼 시간을 줄이는 방법은 뭐가 있을까? 이렇게 x와 y와 같이 두 개의 수를 사용해서 목표값을 맞추는 문제는 하나의 값을 고정하고 문제를 풀면 시간이 꽤 많이 단축된다. x값을 고정해서 문제를 풀어보자. curX, curY를 각각 목표값 x,y에 맞추기 위한 수 라고 생각해보자. 예제의 첫번째인 10, 12, 3, 9로 예를 들어보면, 그럼 curX는 3으로 고정이다. 우리는 curY값이 9가될 때 몇 번째 해인지 출력해주면 된다. 단순히 1씩 더해서 9가되는건 당연히 아니다. 처음에 curY값.. 2022. 4. 11. 이전 1 ··· 3 4 5 6 7 8 9 ··· 45 다음