2023.02.22 ~ 2023.02.25 코딩테스트 이론 정리

2023. 3. 7. 14:01·Problem Solving

[프로그래머스 | 파이썬 / 자바스크립트] 안전지대(코딩테스트 입문/ level 0)

🐥 자바스크립트 | forEach()

형태: arr.forEach((처리할 현재 요소, 처리할 현재 요소의 인덱스, forEach를 호출한 배열) => {각 요소에 대해 실행할 함수})

 

🐥 자바스크립트 | some()

배열 안의 요소가 주어진 판별 함수를 적어도 하나라도 통과하면 true, 그렇지 않으면 false를 반환한다.

callbak 함수는 3가지 인자를 갖는다.

  • element 처리할 배열 내 현재 요소
  • index 처리할 현재 요소의 인덱스
  • array some()을 호출한 배열

 

🐥 자바스크립트 | 느낌표 두개 (Double Exclamation Operation)

object를 boolean 형으로 변환하는 연산자

[undefined, "", 0] 일 경우 결과는 false, 그 외의 결과는 모두 true

  • !! 0 –> false
  • !! null –> false
  • !! undefined –> false
  • !! 48 –> true
  • !! “hello” –> true
  • !! [1, 2, 3] –> true

출처: https://www.codingem.com/javascript-double-exclamation-operator/

 

The Double Exclamation Operator (!!) in JavaScript - codingem.com

JavaScript double exclamation operator (!!) converts any object to a boolean value. For example !!0 --> false and !!1 --> true.

www.codingem.com

 

🐥 자바스크립트 | ?. (optional chaining)

  • 프로퍼티가 없는 중첩 객체를 에러 없이 안전하게 접근하기 위한 문법 ☞ 즉, 존재하지 않는 요소(null, undefined)에 접근해 정보를 가져오려 할 때 오류가 발생하는 문제를 해결하기 위한 문법
  • ?.'앞’의 평가 대상이 undefined나 null이면 평가를 멈추고 undefined를 반환
//기존 방법
let nestedProp = obj.first && obj.first.second;
//optional chaining
let nestedProp = obj.first?.second;
  • obj.first?.second : obj.first가 존재하면 obj.first.second을 반환, 그렇지 않으면 undefined를 반환함

참고

https://ko.javascript.info/optional-chaining


[프로그래머스 | 파이썬 / 자바스크립트] 안전지대(코딩테스트 입문/ level 0)

🐍 파이썬 | filter()

여러 개의 데이터로 중 원하는 조건의 데이터를 추려낼 때 사용하는 파이썬 내장함수

기본문법: filter(조건 함수, 순회 가능한 데이터)

참고: https://www.daleseo.com/python-filter/


[프로그래머스 | 파이썬 / 자바스크립트] 둘만의 암호(연습문제/ level 1)

🐍 파이썬 | string.ascii_lowercase

string 모듈, 알파벳 소문자 출력

from string import ascii_lowercase

a_to_z = set(ascii_lowercase)	#원소의 순서는 랜덤
print(a_to_z)
#{'u', 'w', 'y', 'o', 'z', 'k', 'n', 'm', 'r', 'a', 'c', 'j', 'i', 't', 'g', 'f', 's', 'b', 'q', 'l', 'x', 'e', 'p', 'd', 'v', 'h'}

[프로그래머스 | 파이썬 / 자바스크립트] 모음제거(코딩테스트 입문/ level 0)

🐥 자바스크립트 | Array.from()
유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운 Array 객체를 생성하는 메서드


[프로그래머스 | 파이썬 / 자바스크립트] 삼각형의 완성조건 (2)(코딩테스트 입문/ level 0)

🐥 자바스크립트 | Math.max(), Max.min() 메소드에 매개변수로 배열을 넣기

Math.max(), Math.min() 메소드에 매개변수로 배열을 전달할 경우, 배열 객체를 단일항목으로 인식하기 때문에 NaN이 반환된다.

const array = [7, 11];
console.log(Math.min(array)); // NaN

... 연산자를 이용하면 올바른 min, max값을 구할 수 있다.

const array = [7, 11];
console.log(Math.min(...array)); // 7

 

출처: https://sisiblog.tistory.com/256


[프로그래머스 | 파이썬 / 자바스크립트] 배열 뒤집기(코딩테스트 입문/ level 0)

🐍 파이썬 | reverse() vs reversed()

  • reverse() : 반환값이 없다
  • reversed() : 반환값 존재, 리스트로 출력하고 싶으면 list()함수를 사용해 주어야 한다.

🐥 자바스크립트 | reverse()

배열의 순서를 뒤집는 메서드


[프로그래머스 | 파이썬 / 자바스크립트] 카드 뭉치(연습문제/ level 1)

🐥 자바스크립트 | shift(), unshift()

  • shift() : 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환한다. 원본배열의 길이변화가 일어난다.
  • unshift() : 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환한다.

[프로그래머스 | 파이썬 / 자바스크립트] 할인 행사(연습문제/ level 2)

🐍 파이썬 | Counter() 클래스

중복된 원소가 들어있는 배열을 매개변수로 넘기면 각 원소가 몇 개 들어있는지 저장된 객체를 얻을 수 있다.

Counter(["hi", "hey", "hi", "hi", "hello", "hey"])
// Counter({'hi': 3, 'hey': 2, 'hello': 1})

출처: https://www.daleseo.com/python-collections-counter/


[프로그래머스 | 파이썬 / 자바스크립트] 문자 반복 출력하기(코딩테스트 입문/ level 0)

🐥 자바스크립트 | repeat()

str.repeat(count);
  • 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환하는 메서드
  • 문자열 곱하기에 사용 가능

[프로그래머스 | 파이썬 / 자바스크립트] 배열 회전시키기(코딩테스트 입문/ level 0)

🐥 자바스크립트 | 배열에 요소를 추가/제거하는 메서드

  • 🛑 원본 배열의 변형 발생
  • push() : 배열의 끝에 하나 이상의 새로운 요소를 추가한 후, 배열의 새로운 길이를 반환
  • pop() : 배열의 마지막 요소를 제거하고, 그 요소를 반환
  • unshift() : 배열의 첫 번째 자리에 새로운 요소를 추가하고, 배열의 새로운 길이를 반환
  • shift() : 배열의 첫 번째 요소를 제거하고, 제거된 요소를 반환

🐥 자바스크립트 | 배열 원소 잇기

[...numbers, ...numbers] 로 배열을 이을 수 있다. (여기서 numbers는 배열 이름)

[numbers, numbers]의 경우 배열의 원소로 배열이 들어가 이차원 배열이 된다.


[프로그래머스 | 파이썬 / 자바스크립트] 다항식 더하기(코딩테스트 입문/ level 0)

🐥 자바스크립트 |  조건문에서 논리연산자(&&, ||) 사용

a AND b
a, b 둘 모두 true일 때 true
a가 true이면 b도 true인지 확인해야 하므로 b문장이 실행
a가 true일때 b를 수행하기 위해 사용
let arr = [43, 64, 77, 50, 1];
arr.map(num => 
   (num % 2 == 0) && console.log(num + ": 2의 배수") 
);​

a OR b
a, b 둘 중 하나만 true이면 true
a가 true이면 b를 확인할 필요없이 true이므로 b를 수행하지 않고 건너뛴다.
a가 false이면 b를 확인할 필요가 있으므로 b를 수행한다.
a가 false일 때 b를 수행하기 위해 사용
let arr = [43, 64, 77, 50, 1];
arr.map(num => 
   (num % 2 == 0) || console.log(num + ": 2의 배수가 아니다") 
);



참고한 블로그: https://tinyurl.com/2lt5dajy


[프로그래머스 | 파이썬 / 자바스크립트] 피로도(완전탐색/ level 2)

🐍 파이썬 | 순열

itertools.permutations(iterable, r=None)
  • itertools 모듈
  • 서로 다른 n개 원소 중 r개를 순서를 고려해 나열하는 경우의 수

🐥 자바스크립트 | 자바스크립트 블록 스코프

https://poiemaweb.com/es6-block-scope

 

let, const | PoiemaWeb

ES5까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는 것이었다. var 키워드로 선언된 변수는 아래와 같은 특징이 있다. 이는 다른 언어와는 다른 특징으로 주의를 기울이지 않으면

poiemaweb.com

 

🐥 자바스크립트 | 자바스크립트 배열 선언

https://miiingo.tistory.com/272

 

[Node.js] Javascript: 지정한 길이에 맞게 배열을 선언하고 값을 초기화하는 방법들

배열 선언 및 초기화 방법 길이가 N인 배열 arr을 선언하면서 동시에 값을 초기화하고 싶은 경우 CASE 1: for문 이용 const N = 5; // 길이 N을 5라고 가정 let arr = []; for(let i=0; i

miiingo.tistory.com

 

DFS

https://han-py.tistory.com/242

 

[코딩테스트] 쉽게 이해하고 바로 쓰는 DFS (깊이 우선 탐색)

DFS (깊이 우선 탐색) DFS 깊이 우선 탐색은 코딩테스트에서 기본적으로 알아야한다. DFS란 말 그대로 깊이를 우선적으로 탐색하는 방법이다. 좀 더 쉽게 말하면, 갈림길이 있다면 한방향으로 끝까

han-py.tistory.com


[프로그래머스 | 파이썬 / 자바스크립트] 대문자와 소문자(코딩테스트 입문/ level 0)

🐍 파이썬 | swapcase()

  • 대문자와 소문자의 문자열을 변환하는 데 사용된다
  • 반환값: 변환이 완료된 문자열

🐥 자바스크립트 | for문 약식표현 사용

https://tinyurl.com/2jv56b8z 

 

자바스크립트 for 반복문 약식 표현 예제보기

자바스크립트를 사용하여 for 루프문을 간단하게 사용하는 약식 표현, 한줄 사용 문법을 알아봅니다.

webisfree.com

 

🐥 자바스크립트 | charCodeAt()

str.charCodeAt(index)

주어진 인덱스에 대한 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 반환하는 메서드

 

🐥 자바스크립트 | 한 줄짜리 if 문, for 문 그리고 함수

https://so-tired.tistory.com/66

 

한 줄짜리 if 문, for 문 그리고 함수

조건문을 작성할 때마다 한 줄로 작성할 수 있을 것 같으면 중괄호를 표시할지 혹은 삼항 연산자를 사용할지 고민하곤 한다. 그래서 이에 대해 커뮤니티에서 얻은 답변 내용과 내 생각을 적어두

so-tired.tistory.com


[프로그래머스 | 파이썬 / 자바스크립트] 유한소수 판별하기(코딩테스트 입문/ level 0)

🐥 자바스크립트 |  toFixed(N)

numObj.toFixed([digits])

숫자를 고정 소수점 표기법(fixed-point notation)으로 표시하는 메서드, 소수점 아래 N자리까지 표현

반환값은 문자열.

 

GCD

https://tinyurl.com/2grlgelf

 

JavaScript로 최대공약수(GCD), 최소공배수(LCM) 구하기

최대공약수는 두 수 A와 B의 공통된 약수 중에 가장 큰 정수이다.최대공약수를 구하는 가장 쉬운 방법은 2부터 min(A, B)까지 모든 정수로 나누어보는 방법이다.두 수, 혹은 그 이상의 여러 수의 공

velog.io

 

저작자표시 비영리 변경금지 (새창열림)

'Problem Solving' 카테고리의 다른 글

[프로그래머스|파이썬] 옹알이 (1) (코딩테스트 입문/level 0)  (0) 2023.04.28
2023.02.28 ~ 2023.03.17 코딩테스트 이론 정리  (0) 2023.03.12
2023.02.19 ~ 2023.02.21 코딩테스트 이론 정리  (0) 2023.02.26
이코테 2021 강의 파이썬 문법 (헷갈리는 부분만 정리)  (0) 2022.06.23
알고리즘 사이트 모음  (0) 2021.07.28
'Problem Solving' 카테고리의 다른 글
  • [프로그래머스|파이썬] 옹알이 (1) (코딩테스트 입문/level 0)
  • 2023.02.28 ~ 2023.03.17 코딩테스트 이론 정리
  • 2023.02.19 ~ 2023.02.21 코딩테스트 이론 정리
  • 이코테 2021 강의 파이썬 문법 (헷갈리는 부분만 정리)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    뉴렉처
    Til
    웹사이트
    Jiraynor Programming
    강의내용정리
    bfs
    자바
    리액트
    AWS
    블로그 제작
    SWEA
    타입스크립트
    spring boot
    d3
    파이썬
    프로그래머스
    클론 프로젝트
    React
    구현
    Next.js
    공식문서
    프로젝트
    컴퓨터네트워크
    포트폴리오
    알고리즘
    ZeroCho
    백준
    자바스크립트
    mysql
    플러터
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
2023.02.22 ~ 2023.02.25 코딩테스트 이론 정리
상단으로

티스토리툴바