알고리즘
-
[매일코딩-프로그래머스] 두 개 뽑아서 더하기 01WEB Dev/CordingTEST 2022. 1. 27. 10:37
오늘도 딱 십오분만... [문제] 두 개 뽑아서 더하기 배열이 하나 주어지고 해당 배열 내의 숫자를 각각 더해 나온 숫자를 오름차순으로 정렬한 배열을 추출해야한다. 배열 내의 인덱스는 서로 다른 인덱스여야 한다. ex numbers[1]+numbers[1] 은 안됨 조건은 배열의 길이length는 2 이상 100 이하이고 배열 내의 숫자는 0이상 100 이하의 숫자이다. [풀이] 우선 거의 구구단과 흡사한 것이라고 생각이 든다. 조건문으로 배열의 길이를 정하고 시작하자. function solution(numbers) { var answer = []; if(2
-
[매일코딩-프로그래머스] 문자열을 정수로 바꾸기 01WEB Dev/CordingTEST 2022. 1. 26. 10:44
재택한다고 한동안 알고리즘 공부를 소홀히 하여따... 15분만 집중해서 공부해보자 [문제] 문자열을 정수로 바꾸기 문자열 s가 주어진다. s는 1 이상 5 이하의 길이를 가지고 있고, s의 맨 앞에는 음, 양 부호가 표시될 수 있다. 따라서 s는 부호와 숫자로 이루어져 있고 s는 0으로 시작하지 않는다. 이 s라는 문자열을 숫자로 변환하라 [풀이] 언뜻 보면 되게 쉬워보인다. 글자를 숫자로 반환하는 메소드는 parseInt 인데 부호가 그대로 들어가는지는 모르겠지만 한 번 적용해본다. 우선 s의 길이 조건문을 만들어주고 parseInt로 숫자가 변환되도록 하였다. function solution(s) { var answer = 0; if(1
-
[매일코딩-프로그래머스] 문자열 다루기 기본 01, 02WEB Dev/CordingTEST 2022. 1. 4. 10:39
어제 문자열다루기를 분명 풀어서 글을 올린 것 같은데..! 없어졌다! 저장도 안되어있는거 보니 날린듯 ㅠㅠ [문제] 문자열 다루기 기본 문자열의 길이가 4이거나 6이고, 숫자로만 구성되어있는지 확인하는 함수를 구현하면 된다. 주어지는 문자는 1개부터 8개의 글자로 이루어져 있고, 숫자와 문자가 혼합될 수 있다. 길이가 4이거나 6이고, 숫자로만 되어 있는 조건을 만족하면 true를 출력하면 된다. [풀이] 우선 문자열의 길이가 1~8 인지 확인하는 조건문을 준다. 그리고 문자열의 길이가 4개이거나 6개이면 각각의 문자열이 숫자인지만 확인하면 된다. 먼저 문자열의 길이가 1~8개인지 확인하는 조건문은 다음과 같다. 우선 s.length 그러니까 주어지는 문자열 s 의 길이를 변수에 담고 해당 변수를 확인한..
-
[매일코딩-프로그래머스] 모의고사 06WEB Dev/CordingTEST 2021. 12. 9. 10:28
한 문제 가지고 엄청 오래 끄는 느낌이다!! 그래서 나는 여기서 acnt, bcnt, ccnt를 value로 1, 2, 3을 key로 한 객체로 전환해서, value값에 따라 객체를 내림차순 sort하고, key값을 배열로 담는데, sort한 객체의 value 값이 0이면 value를 담지 않는 코드를 써보려고 한다. 어제 썼던 글에서 내림차순 sort 까지 했고, key 값만 배열로 다시 담는데, 담을 때는 0이면 배열에 담지 않는 코드를 써야한다. sortobj.map((v)=>{ if(v[1]!=0){ resultobj.push(parseInt(v[0])) } }) 정렬한 배열을 map으로 돌려서 if문으로 v를 받아 v의 채점 결과가 0이 아니면 resultobj라는 결과를 받을 배열에 key값이..
-
[매일코딩-프로그래머스] 모의고사 05WEB Dev/CordingTEST 2021. 12. 8. 10:41
이런저런 회사일로 인해 아침 시간을 내기 애매한 상황이 되었었다.. 지금도 약간 바쁘지만 딱 10분만 코테를 풀어보려고 블로그를 켰네 😥 우선 통째로 베껴온 코드는 이렇다. function solution(answers) { let answer = [], res = []; let a=[1,2,3,4,5]; let b=[2,1,2,3,2,4,2,5]; let c=[3,3,1,1,2,2,4,4,5,5]; let acnt = 0, bcnt=0, ccnt=0; for(let i=0; i
-
[매일코딩-프로그래머스] 가운데 글자 가져오기 02WEB Dev/CordingTEST 2021. 11. 17. 11:00
어제는 외주 킥오프때문에 정신이 하나도 없었다. 월요일 밤에 야근하고 어제 야근한 문서 최종 컨펌 받고 정리해서 외주 개발자분께 넘기느라고 진이 다 빠져서 저녁에 리액트 공부도 강의 한 개 간신히 들었다. 리액트 강의 빨리빨리 진행하려고 했는데.. 이번주 토요일도 스터디 카페를 가야겠다. 이래선 진도가 안나가겠어. 월요일에 하던 가운데 글자 가져오기를 계속 해보자 charAt 메소드를 사용해서 단어를 미리 .split('')로 슬라이스 하지 않고 인덱스 번째의 문자열 하나를 빼냈다. 실행 결과는 맞으나 채점에서 테스트 2, 8, 13, 14 16 실패가 떴다. if로 나누는게 아닌가? 뭔가 더 생각이 들지 않는데... function solution(s) { var num = s.length*0.5 if..
-
[매일코딩-프로그래머스] 가운데 글자 가져오기 01WEB Dev/CordingTEST 2021. 11. 15. 10:56
단어 s의 가운데 글자 반환하기 단어가 짝수면 가운데 2글자, 홀수면 1글자 반환하면 된다. 우선 뭐가 되었건 단어를 한 글자씩 쪼개야 한다. 문자열 슬라이스 메소드 중에 .split(구분문자) 을 이용해 주어진 변수의 문자열을 하나하나 쪼개고 배열로 반환받는다. 만약 'apple'라는 단어가 변수 ae에 담겨 있다고 하면, var ae = 'apple' 이다. 이 ae을 ae.split('') 해주면 ( ) 괄호 안의 구분 문자를 기준으로 문자를 자른 후 배열로 값을 반환해준다. (var 변수 = 'another-pine-apple'을 변수.split('-') 해주면 ['another', 'pine', 'apple']로 반환된다.) 이렇게 한 글자 씩 단어를 나누고 나면, 단어의 길이가 짝수일 때는 가..
-
[매일코딩-프로그래머스] 평균 구하기 01WEB Dev/CordingTEST 2021. 11. 12. 10:43
오늘은 금요일이라 가벼운 마음으로 가벼운 문제를 풀어봤다. 평균 구하기라는 문제고 arr로 선언된 배열 내부의 값의 평균값을 추출하면 된다. 평균 구하는건 손으로 써서 외웠었다. 반복문을 너무 못해서 구구단이랑 이런걸 손으로 써서 외웠다. 그래서인지 방식은 잘 알겠는데 기본 반복문 말고 색다른 것을 써보고 싶어 for in 문과 for of 문을 써보기로 했다. 처음에는 for in 문으로 작성했다. 우선 배열의 값들을 더할 sum이라는 변수를 선언하고, 그 변수 안에 arr 배열의 요소들을 한 번 씩 다 더해준 다음 더한 값을 arr의 길이(갯수)로 나눠주면 되는 일이라 뭐가 되었건 어제 본 for문 중 하나를 쓰면 될거라고 생각했다. 호기롭게 쓰긴 썼는데 코드가 실행이 안되네? 그래서 콘솔에다가 fo..
-
[매일코딩-프로그래머스] K번째수 02WEB Dev/CordingTEST 2021. 11. 11. 10:52
어제 못 푼 정렬의 K번째수를 시도해보자! 문제는 var array = [1, 5, 2, 6, 3, 7, 4]; var commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]; commands 배열의 첫번째 요소인 [2, 5, 3] 배열의 첫번째 요소를 i라고 하고, 두번째 요소를 j라고 하고, 세번째 요소를 k라고 했을 때 array 배열을 i번째부터 j번째까지 자르고, 정렬한 다음, k번째 숫자를 찾아서 모아서 배열에 담아 return하는 것이 과제다. 우선 배열을 3개 선언한다. 1. 시작할 n번째 수를 모아둘 startArray라는 배열 2. 끝나는 부분의 n번째 수를 모아둘 endArray 배열 3. 그리고 골라낼 n번째 수를 모아둘 orderArray 배열 그리고 co..
-
[매일코딩-프로그래머스] K번째수 01WEB Dev/CordingTEST 2021. 11. 10. 11:32
본격적으로 프로그래머스 알고리즘 연습을 해보려고 한다. 코딩 공부 시작했을때 했으면 좋았겠지만 사실은 그 때 시작했으면 아마 코딩 공부를 때려치웠을 것 같다. 지금 명색이 개발자로 스타트업 사무실에 앉아있는데 아무것도 할 줄 모르는 감자인데다가 이번 개발 프로젝트가 DB랑 백엔드가 다 들어가있는 프로젝트라 외주를 주기로 해서 기능명세만 쓰고 있어서 코드를 못 만져보는 것도 연습을 시작하게 된 계기가 되었다. 이미 자바스크립트 메소드들을 잊고 있다....!!! 원래는 백준을 해보려고 했는데 일단 node.js로 자바스크립트 언어를 사용해야 해서 좀 버거웠다. 프로그래머스가 조금 더 자바스크립트를 사용하는게 더 낫길래 프로그래머스로 이동. 저번에 진-짜진짜 쉬운 문제를 하나 풀어봤는데 그건 맞았다. 근데 나..