전체 글 32

프로그래머스/Lv1/2016년

문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 abresult a b return 5 24 "TUE" 처음 문제를 보고 2가지 단계로 결과를 내기로 결정했다. 1단계) 기준 일까지의 모든 날짜를 계산한다. 2단계..

프로그래머스/Lv1/두 정수 사이의 합

문제 설명 두 정수 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의 대소관계는 정해져있지 않습니다. 입출력 예 a b retrun 3 5 12 3 3 3 5 3 12 이번 문제는 대부분 바로 쉽게 풀 수 있는 난이도의 문제였다. 그래서 나도 평소 처럼 function solution(a, b) { let answer = 0; a>b? (x=b,y=a):(x=a,y=b); for(i=x;i

프로그레머스/Lv0/진료순서 정하기

문제 설명 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 중복된 원소는 없습니다. 1 ≤ emergency의 길이 ≤ 10 1 ≤ emergency의 원소 ≤ 100 입출력 예 emergency result [3, 76, 24] [3, 1, 2] [1, 2, 3, 4, 5, 6, 7] [7, 6, 5, 4, 3, 2, 1] [30, 10, 23, 6, 100] [2, 4, 3, 5, 1] 참고한 코드 function solution(emergency) { let sorted = emergency.slic..

Array.reduce()

Array.reduce() Array.reduce()는 단순 덧셈을 반복문 없이 쉽게 할 수 있게 만들 어 주는 메소드이다. 총 4개의 값이 필요한데 간단하게 구조를 보자 원본배열.reduce((이전요소까지의합accumulator, 현재값currentValue)=>accumulator+currentValue, 초기값) 이렇게 이전 요소까지의 합(누산기, accumulator), 현재 값(currentValue), 초기 값, 원본 배열이 필요하다 사용 방법을 예로 들어 보면 을 구하는 문제가 있다고 해보자 기존에는 반복문으로 풀었다면 let result =0; for(const el of arr){ result+=el; } return result => 55 출력 이런 방식으로 풀었을 것이다. 동일한 예시..

Javascript/method 2023.03.16

Array.filter()

Array.filter() filter()는 입력된 함수에 따라 조건에 맞는 배열의 요소들만 새로운 배열로 리턴한다. 예를 들어 배열에서 10보다 작은 요소들만 남기고 싶다면 이런 식으로 할 수 있다. let arr = [3,4,255,34,23,5]; let newArr = arr.filter((el)=>el [3,4,255,34,23,5]; newArr => [3,4,5]; 이렇게 filter 메소드는 자동으로 배열을 순회하며 조건에 맞는 요소들만 정리하여 새로운 배열을 return 한다. filter가 없었다면 반복문을 이용해 직접 배열을 순회하는 코드를 길게 작성해야 했겠지만 filter 메소드를 통해 간단하게 표현할 수 있다. 배열의 원본을 수정하는 메소드가 아니기 때문에 빈 배열에 받아 주는 ..

Javascript/method 2023.03.16

Array.map()

Array.map() Array.map()은 입력한 함수를 배열의 모든 원소에 적용해 주는 메소드이다. 예를 들어 let arr = [1,2,3,4,5,6,7,8,9]; arr.map((el)=>2*el); console.log(arr.map((el)=>2*el)) => [2, 4, 6, 8, 10, 12, 14, 16, 18] 함수는 map 내부에서 선언해도 되고 함수가 복잡해지면 외부에서 선언하는 것이 권장됩니다. Array.map은 다른 방식으로도 사용 할 수 있습니다. let a = Array.prototype.map.call('1234552354', el => Number(el)); console.log(a) => [1, 2, 3, 4, 5, 5, 2, 3, 5, 4] //Array.protyp..

Javascript/method 2023.03.11

Array.sort( )

Array.sort( ) Array.sort() 메소드는 배열을 정렬해주는 기능입니다 기본적으로 함수 선언 없이 .sort()로 바로 사용하면 let arr = [4,2,3,5] arr.sort() console.log(arr) => [2,3,4,5] 위와 같이 오름 차순으로 정렬을 해줍니다. 언뜻 편해보이지만 함수 없이 사용시에는 큰 문제점이 있습니다. 바로 기본적으로 sort 메소드는 유니코드 순으로 정렬을 해준다는 것입니다. 예를 들어 let arr = [10,1,11,101,4,2,3,5] arr.sort() console.log(arr) => [1, 10, 101, 11, 2, 3, 4, 5] 유니코드 순서상 1 다음에는 2가 아닌 10이기 때문에 우리가 원하는 정렬을 해주지는 않습니다 따라서 ..

Javascript 2023.03.07

3.실제 사이트의 UI/UX 분석해 보기

서비스 기획 및 분석 중 관심있는 사이트의 UI/UX를 클론 해서 작업해 보는 시간을 가졌습니다. 금융앱 토스(Toss)의 공식 홈페이지 모바일 버전을 클론해서 작업해 보았습니다. 정신없이 Figma로 만들기 바빴지만, 작업하면서 UI/UX에 대해서 많은 생각을 할 수 있었고 토스 홈페이지 UI의 개인적으로 좋은 점과 아쉬운 점 또한 생각해보게 되었습니다. 그래서 이번에는 배운 내용을 바탕으로 토스 홈페이지의 UI/UX에 대해 분석해봅니다. •해당 UI에서 사용중인 디자인 패턴 •무한 스크롤 - 메인 화면에서 무한스크롤을 통해 사용자에게 연속적으로 정보전달 •마우스 휠 이벤트 - 화면 스크롤시 애니메이션을 실행 시키며 정보전달 •탭 - 메인 화면 좌측 상단 •자동완성, 페이지 네이션 - [탭 -> 자주 ..