세상을 더 편리하게
article thumbnail
[프로그래머스 / Swift] 미로 탈출 명령어

https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 접근 문제를 보아하니 DFS 혹은 BFS로 문제 풀 수 있을 것 같았다. 또한 알파벳 순서를 원했으니 d -> l -> r -> u 순서로 dfs를 순회했다. 그래서 DFS로 풀었고 대다수의 테스트 케이스에서 시간초과가 떴다. 틀리지 않았다는 것은 문제풀이 방향은 괜찮았다는 뜻이다. 그럼 예외처리를 해서 줄여야했다. 두 가지의 예외처리가 필요했다. 알파벳 순서대로 순회했으니 최초로 낸..

article thumbnail
[프로그래머스 / Swift] 표 병합

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 접근 사실 문제를 조금 해메었다. 설마 전체탐색을 하지는 않을텐데... 라는 생각이 머릿속에서 안 지워졌는데 50 * 50 이다 보니 전체 탐색을 사용해도 문제풀이에 큰 영향을 끼치지 않았다. 공식 풀이를 보아도 전체 탐색을 사용하는 것을 볼 수 있었다. 이 문제는 50X50 짜리 배열 2개가 필요하다. 1번째 배열(이하 값 배열) 은 값을 갖고 있는 배열 2번째 배열(이하 병합 배열)은 이 배열이 병합되었는지 정보를 갖고 있는 배열이다. 2번째 배열에 대해서 더 자세하게 설명하자면 j 행 i 열의..

article thumbnail
[프로그래머스 / Swift] 표현 가능한 이진트리

https://school.programmers.co.kr/learn/courses/30/lessons/150367?language=swift 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 접근 문제 자체가 조금 어렵다. 글 읽기 싫어하는 개발자라면 더욱더 문제 설명을 짧게하면 이진수로 변환된 것 앞에 0 을 붙여서 포화이진트리 개수를 채우고 이게 가능한 포화이진트리인지 체크할 것이다 문제를 보고 재귀로 풀어야겠다는 생각이 들었다. 그럼 문제는 재귀의 탈출 조건과 재귀함수의 재실행 조건을 따져야 했었다. 2. 문제 풀이 2-1. 처음 풀었던 문..

article thumbnail
[프로그래머스 / Swift] 택배 배달과 수거하기

https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 접근 문제를 보고 그리디로 접근해야겠다. 라는 느낌은 왔다. 하지만 어떻게 그리디를 구현하냐가 문제였다. 가장 먼 곳부터 해결해야 하는 것은 알겠는데 출발 할 때에 물류창고에서 택배차 설정을 어떻게 해야하지? 너무 많이 가져가면 가장 먼 곳의 빈 택배박스를 회수 못할 경우가 생긴다. -> 한 번 더 왕복해야 한다. 너무 적게 가져가면 택배를 건네주기 위해서 다시 왕복해야 한다. 이게 ..