전체 글

개발공부리뷰블로그
· 알고리즘
문제 풀이과정 최종적으로 방을 개설한 사람이 보기 위해, uid 에따른 닉네임이 저장되어 있어야하는 배열을 생성하였다. record를 문자열별로 나눴는데, //record[i][0] => 입장, 퇴장, 변경 //record[i][1] => 유저ID //record[i][2] => 닉네임 다음과 같이 정리된다. answer 결과 배열부분에 uid 와 enter leave에 따른 메세지를 같이 저장하였다. 마지막에 answer에 있는 uid를 닉네임이 저장되어있는 곳과 매칭시켜 결과를 도출하였다. 풀이코드 function solution(record) { let users = []; // 유저의 닉네임이 저장되어있는곳 record = record.map((e) => e.split(' ')); ..
· 알고리즘
문제 풀이과정 깊이 우선 탐색 (DFS) 로 풀었다. 빈문자열부터 A , AA , AAA ... 가면서 찾아간다 ChangeSwitcher 는 값이 나올때 더이상 DFS를 진행시키지 않기위해 두었다. 문자열이 DFS 함수에 들어왓을때 문자열이 5이하 이면 A, E, I, O, U 의 문자열을 추가시켜 각각의 DFS에서 실행시킨다. 풀이코드 function solution(word) { let dic = ["A","E","I","O","U"]; let ChangeSwitcher = true let answer = -1; function DFS(W){ if(ChangeSwitcher){ answer++; if(W === word){ ChangeSwitcher = false; return ; }else if(..
· 알고리즘
문제 풀이과정 숫자가 1, 2, 4 순서로 반복되며 값이 반복되는 형식이다. 값을 3으로 나눴을때 몫과 나머지를 구해서 answer에 나머지를 추가해주는 형식으로 답을 구했다. 다만 3으로 나눳을때 값이 1, 2, 0 순으로 된다 나머지 0일 경우 몫이 1개가 생기므로 새로운 값이 추가되는 현상이 발생하여 주어진 값을 -1 하여 나눳을때 값이 0,1,2 순으로 되게 만들어서 답을 구하였다. 기본 풀이코드 function solution(n) { let answer = ''; function oneTwoFour(n){ n = n - 1 let num = parseInt(n / 3); // 몫 let sub = n % 3; // 나머지 if(sub == 0){ answer = '1&#3..
· 알고리즘
문제 [문제링크][https://programmers.co.kr/learn/courses/30/lessons/81302] 풀이과정 처음에는 배열에 있는 문자열을 다시 배열로 나누고, 해당 배열의 요소가 'P' 일 경우를 찾고, 주변에 'P' 가 없고 주변 요소가 'O' 일 경우 다시 주변을 찾는 방법을 생각했는데 코드가 너무 지저분해졌다. 모든 요소를 한번 더 확인해야하는 번거로움이 있다고 생각하여서 풀이 방법을 바꾸었다. 배열요소들을 검사할 때 거리두기가 실패하는 방법만 생각해서 풀었다. -실패하는 방법 1 해당 요소가 P 인데 상하좌우 중 P가 있을 경우 실패하게 된다.-실패하는 방법 2 해당요소가 O 인데 상하좌우중에 P가 2개 이상 있을 경우 실패하게 된..
· 공부일상
공부기록 - 알고리즘 풀이 - React Project 실행 - 취준..!
WHITE_FROST
하얀하얀IT