본문 바로가기

목록

(152)
15. return vs. break * return : 함수 실행을 종료하고, 함수를 빠져 나온다. * break : 현재 루프 즉, switch나 for, while 등을 종료하고 루프에서 빠져나온다. 💫 return 과 break 의 차이 함수 안에 작성된 루프 안에서 break 가 쓰였다면, break 를 감싸고 있는 루프를 빠져나가고 함수 밖으로는 나가지 않는다. return 은 함수 실행을 종료하고 함수를 호출한 곳으로 실행 흐름을 옮긴다. ex ) // 다음 함수는 i가 3일 때, break문을 만나서, while loop를 종료합니다. // 그 후에 while문을 빠져나와서 실행 흐름이 return i * x;로 가서 // 3 * x 값을 반환합니다. function text(x) { let i = 0; while (i < 6..
8. 청팀 / 백팀 (앨리스 코딩) 💫 문제 코더 랜드에서 체육 대회가 열렸습니다. 체육 대회는 청팀과 백팀, 두 팀으로 나누어 진행하였으며 종목은 축구, 줄다리기, 단체줄넘기, 이어달리기 4종목이 있었습니다. 점수는 종목별로 100점 만점으로 주어지며 총합산 점수가 높은 팀이 승리하였습니다. 청팀과 백팀의 점수가 주어졌을 때, 승리 팀의 점수를 출력하는 프로그램을 작성하세요. (동점일 때는 청팀의 총점을 출력하면 됩니다.) [입력] 첫 번째 줄에는 순서대로 청팀의 축구, 줄다리기, 단체줄넘기, 이어달리기 점수(정수형)를 공백으로 구분하여 입력합니다. 두 번째 줄에는 마찬가지로 순서대로 백팀의 축구, 줄다리기, 단체줄넘기, 이어달리기 점수(정수형)를 입력하고 위와 같이 공백으로 구분합니다. 모든 입력은 100이하의 음이아닌 정수 입니다. ..
7. 평균 구하기 💫 내가 작성한 코드 function solution(arr) { const addNum = arr.reduce( (accumulator, currentValue) => accumulator + currentValue, 0 ); const answer = addNum / arr.length; console.log(answer); return answer; } 💫 Review reduce.. 왤케 어려운거냐 너란녀석.. 이번 문제는 생각보다 쉽게 풀었다 알고리즘에 익숙해지는건가.. 끝 !
2. 제어문 💫 ironman = 3000 ironsuit = 100 if 100 in [100, 3000, 500]: pass elif ironsuit: print("avengers") else: print("assemble") 1. indent (들여쓰기) 파이썬은 다른 언어들보다 ' indent(들여쓰기) ' 가 중요하다. 들여쓰기가 맞지 않을 경우 에러까지 발생한다. 들여쓰기 된 칸은 4칸이다. 저장을 누르면 자동으로 4칸을 띄운다. 2. 조건문 조건에 위와 같이 배열 그 자체를 줄 수도 있다. pass 는 동작을 명시해주지 않아도 될 경우 쓴다. 또한 자바스크립트에선 else ~ if 로 쓰는데 파이썬에선 elif 로 쓴다. 💫 ironman = 3000 if ironman >= 2000: message =..
1. 변수 💫 '=' 은 '같다' 가 아닌 '오른쪽에 있는걸 왼쪽에 넣는다' 라고 표현하는게 정확하다. 또한 파이썬에서 사용하는 변수는 객체를 가리킨다. ex ) >>> a = 3 1) 3이라는 값을 가지는 정수 자료형(객체)이 자동으로 메모리에 생성 2) 변수 a는 객체가 저장된 메모리의 위치를 가리키는 레퍼런스(reference) 3) a라는 변수는 3이라는 정수형 객체를 가리킨다 a = [1,2,3] b = a a[1] = 4 print(id(b)) print(id(a)) 위처럼 코드를 작성할 경우, b = a의 주소를 갖게 되기 때문에 a[1] = 4로 바뀌면 b = [1,2,3] 이 아닌 [1,4,3] 을 갖게 된다. print output = 140179602853128 즉, a 와 b가 동일한 주소를 ..
6. 자리 수 더하기 (LV.1) 💫 내가 작성한 코드 function solution(n) { let nums = []; do { nums.push(n%10); n = Math.floor(n/10); } while (n>0); const arr = nums; const answer = arr.reduce( (accumulator, currentValue) => accumulator + currentValue,0); return answer; } 💫 Review split 메서드 써서 배열 만들고 forEach 로 각각 인자 돌리면 쉽게 풀릴 것 같았지만, 1. split 메서드는 느리다고 한다. 2. reduce 메서드에 익숙해지고 싶었다 2가지 이유 때문에 위와 같이 코드를 작성했다. 💫 풀이 do...while문을 이용하여 배열 만..
5. 두 개 뽑아서 더하기 (LV.1) 이번엔 좀 오래걸렸다. 너무 어렵게 생각해서 문제 이해를 조합을 써야하는걸로 알았고, 덕분에 조합을 구현하는 알고리즘을 만들어보려고 한참 고생했다. 결국 실패.. 이 문제는 다른 사람의 풀이를 보았고 답을 본 순간 너무 허무했다. 중첩 for문을 쓰면 되는거였어 .. 😂 💫 내가 짜려했던 조합 알고리즘과 그 답 const getCombinations = (array, selectNumber) => { const results = []; if(selectNumber === 1){ return array.map((element) => [element]); } array.forEach((fixed, index, origin) => { const rest = origin.slice(index+1); const ..
14. set 💫 구문 new Set ( [iterable] ); iterable : 반복 가능한 객체가 전달된 경우, 그 요소는 모두 새로운 Set에 추가된다. 만약 매개변수를 명시하지 않거나 null을 전달하면, 새로운 set 은 비어 있는 상태가 된다 . 반환값 : 새로운 Set 객체 설명 : 삽입 순서대로 요소를 순회한다. 하나의 Set 내 값은 한 번만 나타날 수 있다. 즉, 어떤 값은 그 Set 콜렉션 내에서 유일하다. 💫 특징 1. set 객체는 중복되지 않는 유일한 값들의 집합이다. 2. 인덱스로 요소에 접근할 수 없다. 3. 교집합, 합집합 같은 수학적 집합을 구현하기 위한 자료구조이다. 💫 객체 생성 set 생성자 함수는 iterable 을 인수로 받아 set 객체를 생성한다. 이러한 특징은 배열의 ..