본문 바로가기

나를 성장시키는 알고리즘

(15)
빈 배열에 새로운 배열의 요소들을 순서대로 넣고싶을 때 readVertically 문제 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. 입력 인자 1 : arr string 타입을 요소로 갖는 배열 출력 string 타입을 리턴해야 합니다. 주의 사항 각 문자열의 길이는 다양합니다. 각 문자의 위치를 행, 열로 나타낼 경우, 비어있는 (행, 열)은 무시합니다. 입출력 예시 let input = [ // 'hello', 'wolrd', ]; let output = readVertically(input); console.log(output); // --> 'hweolllrod' input = [ // 'hi', 'wolrd', ]; output = readVertically(input); console.log(outp..
나를 성장시켜주는 알고리즘#5문자열 중 가장 긴 문자를 출력해라 문제 문자열을 입력받아 가장 많이 반복되는 문자(letter)를 리턴해야 합니다. 주의 사항 띄어쓰기는 제외합니다. 가장 많이 반복되는 문자가 다수일 경우, 가장 먼저 해당 횟수에 도달한 문자를 리턴해야 합니다. 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 문제 논리 순서 : 1.객체를 떠올리고 2. 가장 큰 수를 정의한 후 3 각 각 비교하면서 큰수의 속성 값을 바꿔준다. 가장 큰 수를 뽑는 문제에서는 가장 중요한 포인트가 가장 큰 수를 먼저 정의하는 것이다. 1. 그 객체의 속성과 속성 값을 하나 만들자. let object = { mostCount: 0, mostFrequent: '' }; 2. for문을 통해서 만약에 띄어쓰기가 있을 때 띄어쓰기도 카운트 하기 때문에 이를 예외 처리..
나를 성장시켜주는 알고리즘 #4 객체 객체의 활용 : property에 요소에 type이 숫자인 경우 제거해라 목적:제거하는 함수에 인자 값을 객체로 주었을 때 요소에 숫자가 들어가는 경우를 제외하고 출력하는 함수!! function removeNumberValues(obj) { for(let prop in obj) //반복 { if(typeof(obj[prop])=== "number"){ //type을 찾아라!! delete obj[prop] //제거해라 } } } #참고사항 for..in 문은 임의의 순서로 객체의 속성들에 대해 반복합니다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...in obj의 key 값들을 prop에 다 담아라 그러면..
나를 성장시켜주는 알고리즘 #3 문자열을 배열로 배열을 문자열로 바꾸는 방법 slice 함수,(원본 수정 안됨) shift,unshift(원본 수정) pop push( 원본 수정) join
배열 array unshift, shift, pop,push의 원리 의미 및 원리 shift() 메서드는 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환합니다. 이 메서드는 배열의 길이를 변하게 합니다.(배열의 길이를 출력하는 함수) unshift() 메서드는 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환합니다. pop() 메서드는 배열에서 마지막 요소를 제거하고 그 요소를 반환합니다. push() 메서드는 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환합니다. indexOf() 요소가 어디에 있는지 찾아주는 매서드 const string= [1,2,3,4,] string.indexOf(2) 결과값은 1 split(). : 기준에 따라서 배열의 요소를 나누고 싶을 때 let string="hello world" undefine..
나를 성장시키는 알고리즘 #2 Q 문자열과 두 개의 문자(from, to)를 입력받아, 문자열에 등장하는 특정 문자(from)가 다른 문자(to)로 바뀐 문자열을 리턴해야 합니다. 결과는 새로운 문자가 출력 아이디어는 문자를 스위칭하여 앞에서부터 하나씩 새로운 변수에 저장하면 어떨까? 예를들어 만약에 앞에 바뀔 문자가 있으면 바꿔주고 없다면 그냥 문자열을 출력해 그리고 새로운 변수에 저장하는 것 왜 우리는 이러한 문자열 저장을 신경쓸까? 변경된 값을 표현하기 위해서!! Q 반복문 15번 체크 !! 더하기 말고 곱하기에서 당황했음..!! 다시 풀자 ==> 핵심은 i 번째는 횟수의 의미일 뿐 계산을 의미하는거를 아님 어떤 문제를 계산해서 변화를 이끄는지를 고민하자!!
나를 성장시키는 알고리즘#1 Q 점수를 넣었을 때 학점을 반환하는 함수를 만들고 출력하라!! (100 - 90) --> 'A' (89 - 80) --> 'B' (79 - 70) --> 'C' (69 - 60) --> 'D' 만약 점수의 1의 자리가 0~2 사이라면 등급과 함께 '-'를 반환해야 합니다. 만약 점수의 1의 자리가 8~9 사이라면 등급과 함께 '+'를 반환해야 합니다. Q boolean함수를 이용해서 값이 쓰레기 값이면 true를 리턴하는 함수를 사용해라(조건문 마지막 문제) Q slice, substracing, toUppercalse 와 같은 매서드를 써서 문자열을 잘 나누는 연습을 하자!! Q 문자열 15번 || 숫자타입 문자타입으로 바꾸는 방법 공부 Q a ,b c 중 가장 작은 숫자 정하는 문제 .