전체 글 169

[프로그래머스] 문자열 내림차순으로 배치하기 (Level 1)

문제 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다 나의 풀이 function solution(s) { // 소문자만 배열 -> 사전순 정렬 -> 역순 정렬 let lowerArr = s.split("").filter(v => v == v.toLowerCase()).sort((a,b) => a.localeCompare(b)).reverse(); // 대문자만 배열 -> 사전순 정렬 -> 역순 정렬 let upperArr = s.split("").filter(v => v == v.toUpperCase(..

Coding test 2022.04.06

[프로그래머스] 문자열 내 p와 y의 개수 (Level 1)

문제 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 나의 풀이 function solution(s){ // s를 소문자로 변경하고 배열 만들기 let arr = s.toLowerCase..

Coding test 2022.04.05

[CS] 인터넷은 어떻게 작동할까요 (심화)

개요 인터넷의 작동 원리를 이해하려면, 컴퓨터 통신의 구성요소부터 차근차근 알아가는 것이 좋다. 왜냐하면 공부를 시작하면 아래와 같은 과정을 거치기 때문이다. 📄인터넷 작동 원리는 HTTP를 전달해서... 👶 HTTP가 뭐지? → 📄 HTTP는 표준화된 프로토콜로... 👶 프로토콜은 뭐지? → 📄 프로토콜은 컴퓨터 통신을 위해 합의된 통신 약속... 👶 컴퓨터 통신? (ㄷㄷ) 인터넷은 컴퓨터 네트워크 통신을 기반으로 구현했기 때문에 HTTP, 도메인, 패킷 같은 용어로 설명될 수 밖에 없다. 그러므로 이에 대한 기본적인 이해가 필요하다. 원치 않아도 배워야 한다는 것이다! 역순으로 헤매면서 머릿속에 집어넣는 것보다 기초부터 순차적으로 배우는 것이 훨씬 효율적이다. 그럼 지금부터 컴퓨터 통신의 구성 요소,..

[프로그래머스] 두 정수 사이의 합 (Level 1)

문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 나의 풀이 function solution(a, b) { // 작은 수(small)와 큰 수(big) 구분 후, 변수 생성 let small = Math.min(a,b); let big = Math.max(a,b); // sum = 0 let sum = 0; for(let i = small; i

Coding test 2022.04.02

[프로그래머스] 나누어 떨어지는 숫자 배열 (Level 1)

문제 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 나의 풀이 function solution(arr, divisor) { // arr[i] % divisor == 0 인 값만 남기기 -> newArr 오름차순 정령 let newArr = arr.filter(value => value %divisor == 0).sort((a,..

Coding test 2022.04.02

[프로그래머스] 같은 숫자는 싫어 (Level 1)

문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 같고 ..

Coding test 2022.04.02

[CS] 인터넷은 어떻게 작동할까요 (기초)

웹 관련 용어 정리 웹 페이지 온라인으로 볼 수 있는 단일 문서 또는 텍스트, 이미지, 비디오로 가득찬 페이지 (지금 보고 있는 것도 하나의 웹 페이지) 하이퍼링크를 통해 두 개 이상의 웹 페이지를 연결할 수 있다. 웹사이트 도메인 1개에 속해 있는 웹 페이지의 집합체 웹 페이지가 책의 페이지라면, 웹 사이트는 책 하나의 웹 사이트에 함께 링크된 웹 페이지는 일반적으로 동일한 도메인 이름(URL)을 갖는다. 예시 웹 사이트: www.google.com 웹 페이지www.google.com/drive www.google.com/image 웹 브라우저 웹 페이지의 코드를 이해하고 지시대로 구현하도록 설계된 응용 소프트웨어. 웹 서버와 쌍방향으로 통신하고 HTML문서와 파일을 출력한다. 예시: 크롬, 인터넷 익..

[CSS] BEM, 중복 component 설정

🤔 BEM이란? Block / Element / Modifier 세 가지로 구성된 class이름을 짓는 방법 📌 미사용시 Find Kakao Account of Password #login-form input:not([type="submit"]) { border-bottom: 1px solid rgba(0, 0, 0, 0.2); transition: border-color 0.3s ease-in-out; } #login-form input[type="submit"] { background-color: var(--yellow); cursor: pointer; padding: 20px 0; border-radius: 5px; }📌사용시 welcome to kakaoTalk If you have a Kakao..

Programming/Styles 2022.03.26

[CSS] Cascading 문제 해결

🤔 문제점 #login-form input:focus { border-color: var(--yellow); } #login-form input:not([type="submit"]) { border-bottom: 1px solid rgba(0, 0, 0, 0.2); transition: border-color 0.3s ease-in-out; } 아래 transition 코드가 작동하지 않는 상황 📌 원인 css의 cascading 중요도 명시도 코드 순서 세 번째 때문에 문제가 생겼다 border-bottom 이 구성되기도 전에 색상 설정(input:focus)이 작성되었기 때문 input:focus를 먼저쓰면 색을 설정해줘도 border가 없으니 적용이 불가능하고, 그 이후에 not으로 border-b..

Programming/Styles 2022.03.26

[Javascript] 객체 매핑하기

문제 세 개의 프로퍼티 name과 surname, id를 가진 객체 user가 담긴 배열이 있습니다. name과 surname을 조합해 fullName을 만들고, 이를 이용해 두 개의 프로퍼티 id와 fullName을 가진 객체를 담은 새로운 배열을 반환해주는 코드를 작성해보세요. 예시 let john = { name: "John", surname: "Smith", id: 1 }; let pete = { name: "Pete", surname: "Hunt", id: 2 }; let mary = { name: "Mary", surname: "Key", id: 3 }; let users = [ john, pete, mary ]; let usersMapped = /* 여기에 코드를 작성하세요. */ /* us..

Programming/Client 2022.03.25