본문 바로가기

알고리즘33

[Programmars] 두 개 뽑아서 더하기 (JavaScript) 1. 나의 생각 흐름 처음에는 단순하게 "뽑는다"는 단어를 보고 Math.floor(Math.random())함수를 사용해야하는 건가? 라는 생각을 먼저 하게 됬다. 하지만 계속 고민해보니, 배열에 있는 수를 2개씩 뽑아 더하는 것이니까 이중 for문을 사용해야겠다는 생각이 들었다. 2. 내가 쓴 코드 function solution(numbers) { let answer = []; //numbers[0]과 numbers[1], numbers[0]과 numbers[2] ... 이렇게 반복해서 하려면 //이중 for문을 사용하기!! for(let i=0; i < numbers.length -1; i++){ for(let j=i+1; j < numbers.length; j++){ let a = numbers.. 2022. 1. 31.
[Programmars] 정수 내림차순으로 배치하기 (JavaScript) 1. 나의 생각 흐름 제한 조건은 문제풀때 중요한 조건이 아니라고 생각하기에 패스! (왜냐하면 n을 입력할 사람들이 더 봐야할 조건이기때문에.. 괜히 신경쓰면 더 헷갈리니..) 입력받은 n을 배열로 변환한 후 다시 숫자배열로 변환해주기 => 배열의 내림차순 함수로 정렬하기 => 배열에서 하나의 원소로 묶어주기 => 문자열 배열을 숫자로 변환시켜주기 2. 코드 정리 function solution(n) { let answer = 0; //["1","1","8","3","7","2"] : .map(Number)를 뒤에 붙이지 않았을 경우 //split 함수뒤에 .map(Number)만 써주면 자동으로 문자가 숫자로 바뀌어 배열로 들어감 let arr = (n+'').split('').map(Number); .. 2022. 1. 31.
[Programmers] 콜라츠 추측 (JavaScript) 1. 나의 생각 흐름 if-else문을 이용해서 짝수일때와 홀수일때 실행방법을 다르게 해줘야겠다 => "반복" 이란 단어를 듣고 for문과 while문을 떠올렸다!! 2. 코드 작성 while문보다 더 친숙하게 자주 썼던 for문을 이용해서 작성해보았다. 처음에는 우왕좌왕 썼었다. //초기 코드 function solution(num) { let answer = 0; //500번까지 돌려야한다기에 i가 0부터 시작이니까 부등호에 '='을 붙이지않아도되는걸..바보같이.. for(let i=0; i 500){return -1;} num%2===0?num = num/2: num=num*3+1; answer++; } /*반복문(반환해야 하는 횟수가 500 이상이면 -1 을 반환해서, 반복문을 종료한다. 짝수인지.. 2022. 1. 31.
" 가위/바위/보 " 게임 (with J.S) ▶ " H T M L " 코드 작성하기 (큰 틀 부터 갖추기) //사용자가 선택할 수 있게 게임모드 선택 버튼 생성 "가위/바위/보" 게임 5판 3승 3판 2승 //단순 게임 시작 안내문구 /가위.바위.보/ 게임을 시작해볼까요? //게임모드 선택 전에는 보이지 않도록 "display:none;"설정해주기 "player"의 점수 : "컴퓨터"의 점수 : 입력 //자스 파일 연결 ▶ " Java Script " 1st STEP function pick(flag){ if(flag){score = 3;} //if(조건문):if 안의 조건문이 true면 트루만 작동됨 else{score=2;} //함수파라미터를 지우고 if안에 true써놔서 작동이안됬음!파라미터가 비어있으면 false를 받을수없으니까.. doc.. 2022. 1. 4.