[패스트캠퍼스] 앱개발 강의 후기
·
👍 Review
한번에 끝내는 앱개발 : 기획부터 개발, 배포까지 학습일지국비지원교육으로 패스트캠퍼스의 'React Native 앱 개발의 모든 것' 강의를 5주 과정으로 재구성한 프로그램을 수강하게 되었습니다. 앱 개발에 대한 막연한 두려움이 있었지만, 체계적인 커리큘럼과 실습 위주의 강의로 앱 개발의 전반적인 과정을 경험할 수 있었습니다. 1주차: React Native 기초와 웹뷰 개발 첫 주차에는 React Native의 기본 개념과 웹뷰 개발의 기초를 다뤘습니다. React Native가 크로스 플랫폼 개발을 가능하게 하는 원리와 장점에 대해 배우면서, 웹 개발 경험이 있던 저에게 앱 개발이 그리 멀지 않은 영역이라는 것을 깨달았습니다.특히 인상적이었던 점은 JavaScript로 네이티브 앱을 만들 수 있다는 ..
[Javascript][백준] 1091번 - 카드 섞기
·
🔢 Algorithm
문제이 문제는 단순한 구현 문제이지만, 문제를 올바르게 이해하는 것이 중요합니다. 카드 섞기와 분배 과정을 정확히 파악해야 합니다.문제 해결의 핵심은 다음과 같은 특성들을 고려하는 것입니다:사이클 감지: 같은 방법으로 계속 섞다 보면 결국 이전에 나타났던 패턴이 다시 나타납니다.카드 위치와 플레이어 매핑: 카드가 놓인 위치에 따라 어떤 플레이어에게 분배되는지 결정됩니다. 0, 3, 6... 위치의 카드는 플레이어 0에게, 1, 4, 7... 위치의 카드는 플레이어 1에게, 2, 5, 8... 위치의 카드는 플레이어 2에게 갑니다. 즉, 위치 i의 카드는 플레이어 i % 3에게 분배됩니다.이 문제를 해결하기 위해 다음과 같은 단계를 거칩니다:초기 덱 상태 설정 (카드 번호와 위치가 일치)각 단계마다:카드를..
[Javascript][Programmers] 정수 삼각형
·
🔢 Algorithm
문제삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾는 문제입니다. 이 문제는 동적 프로그래밍(DP)으로 해결하기에 적합합니다. 그 이유는 다음과 같습니다:삼각형의 꼭대기에서 특정 위치까지의 최대 합은 이전 위치들의 최대 합에 기반합니다.여러 경로가 같은 위치를 지나갈 수 있어 중복 계산이 발생합니다. 풀이처음에는 재귀를 활용한 Top-down 방식으로 접근했습니다. 시간복잡도: O(N²) (N: 삼각형의 높이)function solution(triangle) { const memo = {}; function dp(i, j) { // 삼각형의 마지막 행에 도달한 경우 if (i === triangle.length - 1) {..
[Javascript][백준] 체스판 다시 칠하기 2
·
🔢 Algorithm
문제기존 문제인 체스판 다시 칠하기의 경우에는 제한 사항이 여유로워서 단순히 브루트포스로 해결이 가능하지만, 해당 문제의 경우 문제의 제한 사항(N, M ≤ 2000, 1 ≤ K ≤ min(N, M))과 시간 제한 1초를 고려했을 때, O(N²) 이하의 시간복잡도를 가진 알고리즘을 설계해야 합니다. 영역을 선택할 때, 중복되는 영역을 선택하는 경우가 발생하기 때문에 모든 영역마다 K²개의 칸을 다시 계산하는 것은 비효율적입니다. 이 중복 계산을 피하기 위해서 누적합을 사용할 수 있습니다. 이 문제를 해결하기 위해 다음과 같은 단계를 거칩니다:각 칸이 두 가지 체스판 패턴(흰색/검은색 시작)과 얼마나 다른지 계산이 정보를 바탕으로 누적합 계산모든 가능한 K×K 영역에 대해 최소 변경 수 계산 풀이시간복잡도..
[Git] Fix vs Refactor
·
🔥 Develop/Git
커밋 메시지를 작성할 때 항상 고민되는 부분이 있습니다. 바로 코드를 변경했을 때 fix를 써야 할지, refactor를 써야 할지 결정하는 것이죠. 이 두 용어의 차이점을 명확히 이해하고 적절히 사용하고자 이번에 제대로 알아보기로 했습니다. Fix: 버그 수정fix는 기존 코드의 버그나 오류를 수정할 때 사용합니다. 이는 코드가 의도한 대로 작동하지 않는 문제를 해결하기 위해 코드의 동작을 변경해야 하는 경우에 사용됩니다.사용자가 특정 버튼을 클릭했을 때 의도한 동작이 수행되지 않는 문제 해결API 호출 결과가 잘못된 데이터를 반환하는 경우 수정로그인 함수를 예시로 들어보겠습니다:// 버그가 있는 기존 코드function login(username, password) { if (username ===..
[Javascript] 정규표현식
·
🔥 Develop/Javascript
정규표현식(Regular Expression, 줄여서 RegEx)은 문자열에서 특정 패턴을 찾거나 매칭하는 데 사용되는 강력한 도구입니다. 텍스트 처리, 데이터 유효성 검사, 문자열 파싱 등 다양한 작업에 활용됩니다. 자바스크립트에서는 두 가지 방법으로 정규표현식을 생성할 수 있습니다.// 리터럴 표기법const regex = /pattern/;// RegExp 객체 생성자const regex = new RegExp("pattern"); 기본 문법리터럴 문자일반 텍스트 문자로, 그대로 매칭됩니다.const regex = /Yundogi/;regex.test("Yundogi Dev"); // true 메타 문자특별한 의미를 가진 문자들입니다.. : 임의의 한 문자^ : 문자열의 시작$ : 문자열의 끝** ..
[Git] 커밋 메시지 컨벤션 (feat. AngularJS)
·
🔥 Develop/Git
이 글에서는 우아한테크코스 프리코스 과정에서 접한 AngularJS Commit Message Convention의 주요 특징과 적용 방법에 대해 알아보고자 합니다. Commit Message 형식(): 각 라인은 100자를 넘지 않아야 합니다. Subject 라인feat (새 기능)fix (버그 수정)docs (문서)style (포맷팅, 세미콜론 누락 등)refactortest (테스트 추가)chore (유지보수) 변경된 부분을 지정합니다. 예: $location, $browser, $compile, ngClick 등 현재 시제의 명령형 사용✅  "change"❎  "changed", "changes" 첫 글자를 대문자로 쓰지 않음끝에 마침표(.) 사용하지 않음 현재 시제 사용변경 동기와 이전 동작과의..
[카카오모빌리티] 2024 주니어 개발자 영입(Frontend Engineer) - 서류 전형 & 1차 온라인 코딩테스트 후기
·
📝 Apply
4학년 2학기, 졸업을 앞두고 본격적인 취준을 시작했습니다. 그러던 중 우연히 카카오모빌리티의 신입 공채 공고를 발견했습니다. 솔직히 말씀드리면, 제 실력이 부족하다고 생각해 처음에는 망설였습니다. "내가 카카오모빌리티에 지원해도 될까?" 하는 생각이 들었습니다. 하지만 곰곰이 생각해보니, 지원 자체로도 큰 경험이 될 것 같았습니다. "실패해도 좋으니 일단 부딪혀보자"라는 마음가짐으로 지원을 결심했습니다. 서류 전형서류 전형을 위해서는 이전에 원티드에 작성해둔 이력서를 활용했습니다. 예상 외로 서류 전형에 합격하여 다음 단계로 진출할 수 있었습니다. 1차 온라인 코딩테스트코딩테스트는 Codility 플랫폼을 통해 진행되었습니다. 총 140분이 주어졌고, 3개의 문제로 구성되었습니다. 테스트 전에 Codi..
윤도기
'분류 전체보기' 카테고리의 글 목록
상단으로