본문 바로가기

분류 전체보기

(263)
[TypeScript] 배열과 튜플 본 내용은 이정환님의 "한 입 크기로 잘라먹는 타입스크립트" 강의 내용을 바탕으로 작성되었습니다. 타입스크립트에서는 배열을 다음과 같이 정의합니다. let numArr: number[] = [1, 2, 3] let strArr: string[] = ["hello", "hi", "nice", "to", "meet", "you"]; let boolArr: Array = [true, false, true]; 배열을 저장하는 변수의 이름 뒤에 타입 주석(타입 어노테이션)의 시작을 의미하는 콜론(:)을 작성한 뒤, 배열요소타입[] 형식으로 배열 타입을 정의합니다. Array 형태로도 배열의 타입을 정의할 수 있는데 이렇게 꺽쇠와 함께 타입을 작성하는 문법을 타입스크립트에서는 "제네릭" 이라고 부릅니다. 다음과 같..
[TypeScript] 원시타입과 리터럴타입 본 내용은 이정환님의 "한 입 크기로 잘라먹는 타입스크립트" 강의 내용을 바탕으로 작성되었습니다. 위 그림은 타입스크립트가 제공하는 기본 타입들에 대한 그림입니다. 자바스크립트에서 볼 수 있었던 null, undefined, number 등 익숙한 타입이 있는 반면, any, void, never 등과 같이 타입스크립트에 존재하는 타입들이 있습니다. 원시타입(Primitive Type) : 동시에 한개의 값만 저장할 수 있는 타입. ex) number, string, boolean, null, undefined number 타입: 자바스크립트에서 숫자를 의미하는 모든 값을 표현하는 타입 let num1: number = 123; let num2: number = -123; let num3: number ..
(JS) [Baekjoon 9655 - 돌 게임] - 2023. 7. 5.(수) 문제 돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000) 출력 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. Solution.js const input = require('fs').readFileSync('/dev/stdin').toString().trim() console.log(+input%2 === 0 ? "CY" : "SK"); // 출처..
(JS) [Baekjoon 5073 - 삼각형과 세 변] - 2023. 6.30.(금) 문제 삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다. Equilateral : 세 변의 길이가 모두 같은 경우 Isosceles : 두 변의 길이만 같은 경우 Scalene : 세 변의 길이가 모두 다른 경우 단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다. 세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오. 입력 각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다. 출력 각 입력에 맞는 결과 (Equilate..
(JS) [Baekjoon 23971 - ZOAC 4] - 2023. 6.29.(목) 문제 2021년 12월, 네 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 오프라인 대회를 대비하여 강의실을 예약하려고 한다. 강의실에서 대회를 치르려면 거리두기 수칙을 지켜야 한다! 한 명씩 앉을 수 있는 테이블이 행마다 W개씩 H행에 걸쳐 있을 때, 모든 참가자는 세로로 N칸 또는 가로로 M칸 이상 비우고 앉아야 한다. 즉, 다른 모든 참가자와 세로줄 번호의 차가 N보다 크거나 가로줄 번호의 차가 M보다 큰 곳에만 앉을 수 있다. 논문과 과제에 시달리는 성우를 위해 강의실이 거리두기 수칙을 지키면서 최대 몇 명을 수용할 수 있는지 구해보자. 입력 H, W, N, M이 공백으로 구분되어 주어진다. (0 parseInt(v)); console.log(Math.ceil(H / (N + 1)) * Math...
(JS) [Programmers - 3진법 뒤집기] - 2023. 6.28.(수) 문제 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. Solution.js function solution(n) { return +parseInt(n.toString(3).split("").reverse().join(""), 3).toString(10); } 출처 : 프로그래머스 코딩테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/68935
(JS) [Programmers - 부족한 금액 계산하기] - 2023. 6.28.(수) 문제 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용 횟수 coun..
(JS) [Baekjoon 2563 - 색종이] - 2023. 6.27.(화) 문제 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오. 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다. 입력 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 아래..