본문 바로가기

분류 전체보기

(370)
[BOJ] 12018번 Yonsei TOTO (C++) https://www.acmicpc.net/problem/12018 12018번: Yonsei TOTO 첫째 줄에는 과목 수 n (1 ≤ n ≤ 100)과 주어진 마일리지 m (1 ≤ m ≤ 100)이 주어진다. 각 과목마다 2줄의 입력이 주어지는데 첫째 줄에는 각 과목에 신청한 사람 수 Pi과 과목의 수강인원 Li이 주어 www.acmicpc.net #include #include #include using namespace std; int main() { int n, m, num, p, l; cin >> n >> m; vector vv; for(int i = 0; i > p >> l; vector v; for(int j = 0; j > num;..
[Typescript] 리터럴, 유니온/교차 타입 literal type const userName1 = "Bob"; let userName2 = "Tom"; userName2 = 3; // Error userName1의 타입은 "Bob"이고 username2의 타입은 string이다. const로 선언한 값은 바꿀 수 없으므로 "Bob" 이외의 값은 가질 수 없다. 반면 userName2는 언제든 다른 값으로 바뀔 수 있으니 보다 넓은 개념의 string 타입으로 정의된다. userName2의 타입을 명시하지 않았지만 다른 타입으로 바꾸면 에러가 발생한다. userName1처럼 정해진 string 값을 가진 것을 문자열 리터럴 타입이라고 한다. type로 비슷한 형태를 만들 수 있다. type Job = "police" | "developer" | "..
[Typescript] 함수 선택적 매개변수 function hello(name?:string){ return `Hello, ${name || "world"}`; } function hello2(name = "world"){ return `Hello, ${name}`; } const result = hello(); const result2 = hello("Sam"); const result3 = hello(123); // Error name이 없으면 "world"를 출력하는 코드이다. name은 있어도 되고 없어도 되는 매개변수이므로 뒤에 물음표를 붙인다. 이를 선택적 매개변수라고 부른다. 자바스크립트에서처럼 매개변수의 디폴트 값을 지정하는 것도 가능하다. function hello(age:number|undefined, name:..
[Programmers] 숫자 문자열과 영단어 (C++) https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr #include #include using namespace std; int solution(string s) { string num[10] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}; string str[10] = {"zero", "one", "two", "three", "four", "five",..
[Programmers] 신규 아이디 추천 (C++) https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr #include #include using namespace std; string solution(string new_id) { bool flag = false; for(int i = 0; i < new_id.length(); i++){ // 1단계 new_id[i] = tolower(new_id[i]); // 2단계 if(!isdigit(new_id[i..
[Typescript] 인터페이스(interface) let user:object; user = { name : 'xx', age : 30 } console.log(user.name); // Error object에는 특정 속성 값에 대한 정보가 없기 때문에 위 코드는 에러가 발생한다. 이처럼 프로퍼티를 정해서 객체를 표현하고자 할 때는 인터페이스를 사용한다. interface User { name : string; age : number; } let user : User = { name : 'xx', age : 30 } console.log(user.age); // 30 인터페이스를 활용해 user 객체의 age 속성에 접근하면 에러가 발생하지 않는다. optional, readonly, index type Score = 'A'|'B'|'C'|'F'; i..
[Typescript] 기본 타입 string, number let car:string = 'bmw'; let age:number = 30; Array 배열을 나타내는 두 가지 방법이 있다. 타입 뒤에 [ ]를 붙이거나 제네릭 배열 타입인 Array을 사용한다. let a:number[] = [1, 2, 3]; let a2:Array = [1, 2, 3]; let week1:string[] = ['mon', 'tue', 'wed']; let week2:Array = ['mon', 'tue', 'wed']; 튜플(tuple) 동일하지 않은 타입을 배열로 표현할 수 있다. 인덱스를 사용해 배열의 요소에 접근할 경우, 해당 요소는 올바른 타입이어야 한다. let b:[string, number]; b = ['z', 1]; // OK b = [..
[BOJ] 11508번 2+1 세일 (C++) https://www.acmicpc.net/problem/11508 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net #include #include #include using namespace std; int main() { int n, c; cin >> n; vector v; for(int i = 0; i > c; v.push_back(c); } sort(v.begin(), v.end(), greater()); int sum = 0; for(int i = 0; i < n..