본문 바로가기

내일배움캠프 안드로이드 3기

(68)
[TIL] 24.01.18 1. 알고리즘 문제 해결 N과 M (5)~(8) (백준 15654, 15655, 15656, 15657): 문제들이 다 골자는 같고 상세 조건만 조금씩 다른 유형이라 이미지는 하나만 업로드 했다. 보고 있던 강의에선 재귀를 이용한 순열, 조합 문제라고 했는데, 백트래킹의 기초에 가깝다. N이 충분히 작기 때문에 메모리 스택 걱정 없이 재귀로 편하게 구현하면 된다. 트리의 부모 찾기(백준 11725): 브루트 포스는 O(n^2)로 시간 초과이고, 인접행렬을 이용하면 메모리가 초과될 것이다. 그래서 각 vertex에 대해 인접 리스트를 사용해야 한다. 이후에는 BFS로 풀면되는데, 처음 제출했을 때 1%에서 바로 틀렸다. 대체 왜 틀렸나 싶어서 꽤 오래 고민한 것 같다. 다시보니 이진 트리가 아니라 그냥 트..
[TIL] 24.01.17 1. 알고리즘 문제 해결 스택 수열(백준 1874): 스택 자료구조를 이용한 단순 구현 문제. 외계인의 기타 연주(백준 2841): 처음에 기타 줄을 누르는 손가락이 5개라고 생각해서 조금 복잡한 구현 방식을 떠올렸는데, 다시보니 손가락이 수십억개인 외계인이 기타를 치는 문제였다. 음의 수가 500,000개가 최대고 줄의 수도 6개 밖에 되지 않아서 그냥 스택 6개짜리 벡터 생성해서 풀었다. C++ 기준으로는 빈 스택의 top을 참조하지 않도록 조금 신경써줘야 한다. 오큰수(백준 17298): 단순하게 브루트 포스로 접근하면 O(n^2)가 되어 시간초과가 날 것이다. 처음엔 i+1~n번째에 해당하는 부분 수열에 대해 인덱스를 포함한 pair로 만들고, 값과 인덱스 둘 모두 이용하는 우선순위 큐를 만들까 ..
[TIL] 24.01.16 1. 알고리즘 문제 해결 키로거(백준 5397): 자료 구조 기반 단순 구현문제. 커서 좌우 부분을 각각 스택으로 나누어 해결했다. 링크드 리스트로 해결해도 무난할 것 같다. PPAP(백준 16120): 처음에는 KMP 알고리즘이나 보이어-무어 알고리즘 같은 스트링 매치 알고리즘을 이용하려고 했다. 문자열 내에서 "PPAP"를 찾아 "P"로 변경하려는 생각이었다. 그런데 입력으로 들어오는 문자열의 최대 길이가 1,000,000인데, 변경된 문자열을 계속해서 탐색-변경 해줘야해서 시간 초과가 날 것 같았다. 그리고 문자열의 대부분이 같은 글자이고, 탐색해야 하는 Substring의 접두사와 접미사가 같기 때문에 스트링 매치 알고리즘들이 큰 효과를 보이지 않을 거 같기도 했다. 그래서 스택을 이용했다. 스택..
스타터 노트 내가 앱 트랙(iOS, Android)에 참여한 계기는 무엇인가요? - 평소에도 안드로이드 개발자를 희망하고, 혼자서 공부하고 있었습니다. 아무래도 독학을 하다보면, 협업 프로젝트나 협업 툴에 대한 경험이 부족해지고, 사용 중인 기술이나 구현 방식이 실무의 것과 동떨어져도 깨닫기 힘들다고 생각합니다. 내일배움캠프의 앱 트랙에서는 실무 경험이 있는 강사들의 멘토링을 받을 수 있고 협업 프로젝트도 경험할 수 있도록 과정을 제공한다고 했습니다. 이를 통해 제 부족한 부분들을 보완할 수 있을 거 같아서 지원하게 되었습니다. 내가 이해한 앱개발자는 어떤 역할을 하는 사람인가요? - 먼저 개발자는 요구되는 기능을 프로그래밍을 통해 공학적으로 구현해낼 수 있는 사람이라고 생각합니다. 앱개발자는 그런 개발자 중에서도 ..