알고리즘
![[JavaScript] 프로그래머스 - 문자열을 정수로 바꾸기/ 서울에서 김서방찾기/ 같은 숫자는 싫어/ 문자열 내 p와 y의 개수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FejfF22%2FbtqFVjmDzwq%2Fayr1XfCF4OUKQqNlrZz6NK%2Fimg.png)
[JavaScript] 프로그래머스 - 문자열을 정수로 바꾸기/ 서울에서 김서방찾기/ 같은 숫자는 싫어/ 문자열 내 p와 y의 개수
1. 문자열을 정수로 바꾸기 문제 해결 1. 자바스크립트의 속성을 이용하는 방법 2. 주어진 문자열에 *1을 해준다.' 🚙 String To Number 자바스크립트에서는 숫자로 이루어진 문자와 연산을 시키면 알아서 Number로 바꾸고 연산을 진행한다. a = '1234' console.log(a*1) // 1234 b = '-1234' console.log(b*1) // -1234 소스 코드 function solution(s) { return s * 1; } 2. 서울에서 김서방 찾기 문제 해결 1. for 문을 활용해 배열을 하나씩 탐색하고 if 문으로 원하는 값이 나올 때 그 인덱스를 답으로 출력한다. or 2. indexOf 함수를 이용한다. 🚖 indexOf 찾을 배열.indexOf("찾고자..
![[JavaScript] 프로그래머스 - K번째수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk9OoD%2FbtqFURQu3Gt%2FTl3w8KZSNVc3SsTISwMRe1%2Fimg.png)
[JavaScript] 프로그래머스 - K번째수
문제 해결 1. 각 커맨드의 0,1 번째 숫자는 배열을 자르고, 2 번째 숫자는 값을 인덱스로 찾는다. 2. slice를 이용해 배열을 자른다. 3. sort()를 이용해 배열을 정렬한다. 4. 3번의 배열에서 숫자를 찾는다. 🌦 forEach, sort 에 대해서 학습해보자. 🟤 forEach arr4 = [2,5,3] arr4.forEach((n) => { console.log(n) }) // 2 // 5 // 3 forEach 안에서 함수를 정의하는 방법은 취향에 따라 알아서... 🟣 sort() arr4 = [12,2,1] arr4.sort() console.log(arr4) // 고장난다 | [1,12,2] arr4.sort((a,b) => { return a-b }) console.log(ar..
![[JavaScript] 프로그래머스 - 가운데 글자 가져오기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD6BYb%2FbtqFQ9Q7vwp%2FXlWYIBhpRNm7Cqc1vPRPq0%2Fimg.png)
[JavaScript] 프로그래머스 - 가운데 글자 가져오기
문제 해결 1. 문자열의 길이가 짝수인지 홀수인지에 따라 다르게 판별한다. 2. 문자열의 길이가 짝수이면 (1) 두 글자를 출력해야 하므로 slice를 이용한다. (2) JavaScript에서는 바로 몫을 구하는 방법이 없으므로 (3) 나누기를 한 후 정수로 변환한다. 3. 문자열의 길이가 홀수라면 (1) 가운데 글자를 출력한다. 🌦 오늘은 정수변환 parseInt, 인덱싱 slice 를 익혔다. 🚗 parseInt a = 2.5 console.log(a) // 2.5 console.log(parseInt(a)) // 2 🚙 slice arr = ['banana', 'apple', 'grape', 'kiwi'] console.log(arr.slice(2)) // [ 'grape', 'kiwi' ] | 2..
![[JavaScript] 프로그래머스 - 모의고사](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZM52l%2FbtqFP9Dkyyz%2FKRG2uKyqRYfc4AP19XUKmk%2Fimg.png)
[JavaScript] 프로그래머스 - 모의고사
문제 해결 1. 학생들의 정답을 찍는 패턴을 배열에 담는다. 2. 학생들이 찍은 정답과 문제의 정답을 차례차례 비교한다. (1) 이 때, 학생들의 정답 패턴 길이보다 문제 배열의 길이가 길 경우 (2) 현재의 인덱스를 정답 패턴 길이로 나누고 나머지를 구한다. (3) 학생들의 정답을 맞출 경우 스코어를 +1씩 올려준다. 3. 세 학생의 스코어중 가장 큰 값을 구하고 4. 가장 큰 값과 학생의 점수가 같으면 정답에 푸쉬 해준다. 🌤 토스 코딩테스트를 준비하기 위해 오늘부터 자바스크립트로 기본적인 문제를 풀며, 언어를 익히기로 했다! 최근 프론트엔드를 맡아 프로젝트를 진행하며 자바스크립트를 많이 사용해서 크게 어렵지 않았지만, 알고리즘을 푸는것과는 많이 달라서 조금 더 공부해야 할 것 같다. 🟢 const ..
![[python] 프로그래머스 - 키패드 누르기 (2020 카카오 인턴십)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGBoXA%2FbtqFPIdV0Ub%2Fj1KsC9tZvXyGpMvkgjTeTK%2Fimg.png)
[python] 프로그래머스 - 키패드 누르기 (2020 카카오 인턴십)
문제 해결 1. 키패드 모양대로 2차원 배열과 현재 왼손의 위치, 오른손의 위치, 누른 손을 누적할 변수를 생성 2. 1,4,7은 왼손, 3,6,9는 오른손을 사용하여 누르고, 그 위치로 이동한다. 3. 2,5,8,0의 경우 누를 번호에서 현재 양손의 위치까지의 거리를 구해서 거리가 짧은 쪽을, 거리가 같을 경우 어느손잡이인지에 따라 그 손으로 누르고 이동한다. (1) 눌러야할 번호의 위치를 구하고 BFS 탐색을 한다. (2) 현재 손까지의 거리를 구한다. (3) 양손까지의 거리를 비교한다. 😂 난이도는 카카오 코테 Lv1. 다른 분의 풀이를 보면 1차원 배열에서 숫자는 인덱스로, 위치는 튜플 형태로 값으로 넣어서 푼다. ex) 2차원 배열 상에서0번의 위치는 3,1이고 , 1번의 위치는 0,0이다. 그..
![[python] 프로그래머스 - 수식 최대화 / 보석 쇼핑 (2020 카카오 인턴십)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFDGwv%2FbtqFLtWT7vY%2FcUskYkSC8lpV25DjB51GOK%2Fimg.png)
[python] 프로그래머스 - 수식 최대화 / 보석 쇼핑 (2020 카카오 인턴십)
1. 수식 최대화 문제 해결 1. 먼저 주어진 수식을 숫자와 연산자로 구분하여 분리 (1) 빈 배열과 숫자를 자리수마다 하나씩 쌓아 놓을 변수를 만들고 (2) 주어진 수식을 for 문을 돌린다. (3) 숫자가 나오면 | ex) 350일 경우 > tmp에 3을 더하고, 5를 더하고 0을 더해서 tmp='350' 을 만든다 (4) 연산자가 나올 경우 만들어 놓은 숫자(tmp)와 연산자를 차례로 배열에 추가 한다. tmp는 다시 초기화 (5) 3,4번을 반복하고 마지막 숫자는 다음에 올 연산자가 없으므로 끝날 때 배열에 추가해준다. 2. 연산자 우선순위 구해서 계산하기 (1) 연산자 3가지를 만들고, 퍼뮤테이션 함수를 이용해 연산자 3가지에 대한 순열을 생성 (2) 만들어 놓은 수식 배열은 여러번 계산(연산자..