썸네일 [PYTHON] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 문제 해석 체스에 종류별로 필요한 피스 개수에서 input의 피스 개수를 뺀다. input 값이 아래와 같이 띄어쓰기를 구분하여 들어오기 때문에 split(' ')을 해줘야 한다. 0 1 2 2 2 7 풀이 첫 번째 시도 - 성공 굳이 변수에 다 담을 필요가 없고, 체스에 필요한 피스 개수를 묶어 저장하지 않아 가독성이 떨어진다. a,b,c,d,e,f = map(int,input().split(' ')) # 각각 변수에..
썸네일 [PYTHON] 18108번 1998년생인 내가 태국에서는 2541년생?! https://www.acmicpc.net/problem/18108 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 문제 해석 - 불기 연도를 서기연도로 바꾼다. - 불기연도에서 543을 빼주면 서기 연도가 된다. 풀이 num = int(input()) # input값을 받아 정수로 변환하여 num에 저장한다. print(num-543) # num에서 543을 빼주고 출력한다.
썸네일 [PYTHON] 10926번 ??! https://www.acmicpc.net/problem/10926 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때 www.acmicpc.net 문제 - 입력값 뒤에 '??!'를 붙여 출력한다. 풀이 user_name = input() print(f'{user_name}??!') f-string을 사용하여 출력해줬습니다. 아래 글은 f-string과 같이 string formatting에 대해 정리했습니다. 참고해주세요 2023.01.03 - [개발언어/python] - String Formatting - %-formatting / f-s..
썸네일 [PYTHON] 10869번 사칙연산 https://www.acmicpc.net/problem/10869 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 풀이 a,b = map(int, input().split(' ')) print(a+b) print(a-b) print(a*b) print(a//b) print(a%b) - 몫은 // 연산자를 사용한다. - 나머지는 % 연산자를 사용한다. -a,b = map(int, input().split(' '))에 대한 설명은 아래의 글..
썸네일 [PYTHON] 1000 A+B 1001 A-B 10998 AXB 1008 A/B https://www.acmicpc.net/problem/1000] 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net https://www.acmicpc.net/problem/10998 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출..
썸네일 [JS] level0 점의 위치 구하기 - 삼항연산자, 구조분해할당 https://school.programmers.co.kr/learn/courses/30/lessons/120841 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 - 점의 위치를 입력 받아 몇 사분면인지 출력한다. 해결 점의 위치 ( x,y) - 제 1사분면 : x>= 0 , y>=0 - 제 2사분면 : x=0 - 제 3사분면 : x=0 ? 1 : 4; return dot[1] >= 0 ? 2 : 3 } if(dot[0] >= 0) return dot[1] >=0 ? 1 : 4; - dot[0]은 x 값을 나타낸다. - x 값이 0 이상이면 - do..
썸네일 [JS] 문제 54 - 연속되는 수 문제 : 연속되는 수가 맞으면 YES, 틀리면 NO를 출력한다. 배열 비교하는 방법 1. JSON 이용하여 배열 비교 JSON.stringify : json, Object 객체를 문자열로 변환 JSON.parse : 문자열을 json, Object로 변환 const input= "1 2 3 4 5"; const inputData = input.split(' ').map(v => parseInt(v)); const answer = [] for(let i = inputData[0];i parseInt(v)); const answer = [] for(let i = inputData[0];i
[JS] 문제 31번 자바스크립트 자료형의 복잡도 다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. 1) arr[i] 2) arr.push(5) 3) arr.slice() 4) arr.pop() 5) arr.includes(5) 3. arr.slice() begin부터 end(end 미포함)까지 복사본을 새로운 배열 객체로 반환한다. 그렇기 때문에 배열의 길이에 따라 실행 시간이 길어지기 때문에 시간 복잡도는 O(n)이다. 5. arr.includes(5) includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별한다. includes(5)는 arr의 배열 요소를 처음부터 5가 나올때까지 실행 만일 5가 배열의 끝에 있다면 배열의 길이만큼 실행 시간이 길어지기 때문에 시간 복잡도는 O(n)이다. 이해가 가지 않는다면 B..
썸네일 Big O 표기법이란? 자바스크립트 예제로 알아보자! Big O natation Big O 표기법의 필요성 여러가지 코드를 서로 비교하고 성능을 평가하기 위해서 왜 중요한가? 코드챌린지, 면접, 큰 데이터셋을 다루는 기업에서 성능이 좋은 코드가 필요하기 때문에 정확한 전문용어를 사용하는 것이 중요함. 여러 접근법의 장단점을 알 수 있음. 비효율적인 코드를 찾는데 도움이 됨. 간단하게 Big O 표기법을 표현하는 방법 1~n까지 모두 더하는 function 만들기 function addUpTo1(n) { let sum =0; for(let i =1;i O(1) O(2n^2) => O(n^2) O(n^2+2n-8) => O(n^2) 시간 복잡성과 공간 복잡성 시간 복잡성 시간 복잡성을 구하는 요령 1. 연산(덧셈,뺄셈,곱셈,나눗셈)은 상수임. O(1) 2. 변..
[JS] 문제37-반장선거 중복 개수 찾기/set 문제 - 새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램을 작성하기로 하였습니다. - 입력 : 원범 원범 혜원 혜원 혜원 혜원 유진 유진 - 출력 : 혜원(이)가 총 4표로 반장이 되었습니다. 풀이 1. 중복 없는 값만 가지는 set을 이용하여 유일한 값을 뽑아내서 (변수명 : set) 배열로 만든다. (변수명 : setArr) 2. input값과 유일한 값인 setArr와 비교하여 같으면 카운팅한다. setArr[0] === arr[0] 은 "원범"이다. 값이 같으므로 count =1 setArr[0] === arr[2] 는 "원범" != "..
썸네일 [JS] 2562 최댓값 2022.09.08 2562 최댓값 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 문제 9개의 서로 다른 자연수가 주어질때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 풀이 const fs ..
썸네일 [JS] 3052 나머지 중복제거(Set/filter&indexOf) 3052 나머지 https://www.acmicpc.net/problem/3052 문제 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 풀이 const fs = require('fs'); const inputData = fs .readFileSync(0,'utf8') .toString() .trim() .split('\n') .map((i) => parseInt(i)) // inputData의 모든 수를 42로 나눈 나머..