본문 바로가기

Algorithm236

[Swift][프로그래머스][그리디] 추석 트래픽 요구능력 그리디 문제풀이 임의시간부터 1초간 처리하는 요청의 최대 개수를 구해야한다. 오름차순 정렬까지 되어있기 때문에 우리가 원하는 시간에서부터 1초만 탐색하면 되니까 그리디로 풀게되었다. 1) 처리시간은 시작시간과 끝시간을 포함한다. 우리가 구해야할 것은 시작시간과 끝시간으로 정해졌다. 처음에 주어지는 시간이 끝시간이다. 시간을 비교해야 될 때는 가장 작은 단위에 맞춰서 비교하는게 가장좋다. 모두 우선 초단위로 바꾸고 더한다음 1000을 곱해서 밀리초를 만들어주고 밀리초를 더해주면 시간양식이 우선 완성된다. 끝시간을 저장하는 배열 endTime에 추가해준다. 그리고 시작시간을 구하려면 지속시간을 빼주면 된다. 하지만, 그냥 빼주면 안되고 문제에서 아래와 같이 되어있으니 1을 더해줘야한다. 2) 끝시간.. 2022. 4. 26.
[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][프로그래머스][완전탐색] 행렬 테두리 회전하기 요구능력 완전탐색 문제풀이 테두리만 회전시키면서 가장 작은값을 result에 저장해두고 회전을 마치면 answer에 하나씩 저장하였다. 후기 그냥 구현문제 코드 func solution(_ rows:Int, _ columns:Int, _ queries:[[Int]]) -> [Int] { var arr = [[Int]]() var count = 1 var answer = [Int]() for i in 0.. 2022. 4. 25.