항해 99
항해 99 8일차 09/26
코딩이좋아요
2022. 9. 26. 23:45
10시에 언어스터디 조를 배정받았다
스터디를 하는 이유에는 내가 해야하는 언어의 이론적인것과 유형들 기본적인 것에 의미를 두는 스터디이다.
조를 보니 팀장이였다.
조원들과 모여서 페이지를 나누고 11시까지 모여서 공부한 내용을 이야기 하기로 했다.
오늘도 알고리즘 문제를 풀었다.
전화번호가 문자열 phone_number로 주어졌을 때,
전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을
리턴하는 함수, solution을 완성해주세요.
let phone = "027778888" //*****8888
let phones =""; //if ***** else 8888
for (i = 0; i < phone.length; i++){ //phone의 길이 만큼 반복한다
if(i < (phone.length)-4 ){ //i의 값이 phone길이의 -4를 뺸값(즉 i값 01234 번까지) 까지 phones에 *를 추가한다.
phones += "*" // phones *****
} else { //넘어가면 else안에 함수가 실행
phones += phone[i] //5678 까지 번호를 누적해서 넣어줌
}
}console.log(phones)
// console.log(phone.substring((phone.length)-4,phone.length)) 7891
substring을 써서 풀어볼 수도 있었는데 *을 넣을수 방법이 생각이 나지 않아서 반복문에 조건문을 써서 풀었다. // phone[i] = phone 027778888 (123456789)
// i = 012345678
|
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. let x = 2;
let n = 5;
let c = []; // [2,4,6,8,10] 2씩 더해져서 들어온다
let d = 0;
for(let j = 0; j < n; j++){
c.push(d += x) //c에 push(배열에 값을 넣는 메소드)한다.d에 x의 값을 누적 증가 시켜서
}
return c;
|
부족금액 을 계산하는문제인데
새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. const price = 3;
const count = 10; // 3 6 9 12
const money = 2500
let total = 0;
for (i = 1; i <= count; i++){
total += price * i
}
result = Math.max(money,total)-Math.min(money,total)
console.log(result)
처음 코드를 구현했을때 잘 나와서 바로 점수를 메겼었는데 4번에서 자꾸 틀리는 것이였다. 그래서 검색을 해보니 다들 비슷한데서 틀린다고 했었던거다 이상하다 싶어서 문제를 자세히 봤더니 가지고 있는 돈이 부족하지 않으면 0을 return 했었야 했다. 그래서 코드를 자세히 보니 부족한 상황만 가지고 짯던거다. 조건문을 추가했다. const price = 3;
const count = 10; // 3 6 9 12
const money = 2500
let total = 0;
for (i = 1; i <= count; i++){
total += price * i
}
if (money > total){
result = 0; //가지고있는 돈이 총 내야할 돈보다 많을시 0
}else {
result = Math.max(money,total)-Math.min(money,total)
//가지고 있는 돈이 부족하면 음수로 나오는데 방지하고자 무조건 최대값에서 최소값을 빼도록 코드를 구현했다. }
console.log(result)
|