전체 글 107

BOJ - 15651 좌표 정렬하기 2

문제 : https://www.acmicpc.net/problem/16953문제 등급: 실버 5 문제 풀이 :  11650번과 반대로 이번에는 y좌표가 증가하는 순으로 먼저하고 , y좌표가 같을 땐 x 좌표가 증가하는 순을 찾으면 된다. 즉, compare 함수에서 a[1]-b[1] 을 먼저 기준으로 고려해주면 된다.시간복잡도: 정렬 방법을 사용했기 때문에 O(NlogN)으로 볼 수 있다. const fs = require("fs");let input = fs.readFileSync("/dev/stdin").toString().split("\n");let N = Number(input[0]);let arr = [];for(let i=1;i

BOJ - 11650 좌표 정렬하기

문제 : https://www.acmicpc.net/problem/11650문제 등급: 실버5 문제 풀이 : x좌표 기준으로 오름차순 정렬 후 같으면 y좌표 증가하는 방식이다. const fs = require("fs");let input = fs.readFileSync("/dev/stdin").toString().split("\n");let N = Number(input[0]);let arr = [];for(let i=1;i 배운 것 : a[0] , b[0]  / a[1], b[1] 에 대해 설정한 것은 예시로 들면 다음과 같다.만약 arr 이 [ [1,2] , [2,3] ,[3,5] ] 이런 식으로 들어가 있을 때 a[0]은 1 , b[0]은 2와 같다.이런 식으로 a[0] = 2 , b[0] = 3..

BOJ - 11004 K번째

문제 : https://www.acmicpc.net/problem/11004문제 등급 : 실버 5 문제 풀이 :  두  수를 받아서 이를 정렬 한 다음 주어진 K를  index로 하는 수(K-1)를 console.log로 찍어주면 된다.const fs = require("fs");let input = fs.readFileSync("/dev/stdin").toString().split("\n");let [N,K] = input[0].split(" ").map(Number);let arr = input[1].split(" ").map(Number);for(let i=1;ia-b);console.log(arr[k-1]); 배운 것띄어쓰기 기준으로 한 줄에 여러 개 받는 것 : input[0].split(" "..

BOJ - 2750 수 정렬하기

문제 : https://www.acmicpc.net/problem/2750문제 등급 : 브론즈 2 문제 풀이 : 2752번 처럼 여러 수를 받는 것을 동일하나 한 줄에 받는 것이 아닌 여러 줄을 받아야 하기 때문에 반복문으로 돌리고 빈 배열인 arr에 push 해줌. const fs = require("fs");let input = fs.readFileSync("/dev/stdin").toString().split("\n");let N = Number(input[0]);let arr = [];for(let i=1;ia-b) let answer = ""; for(let i=0;i시간 복잡도 : 정렬방식을 사용했기 때문에 O(NlogN)

BOJ - 2752 세 수 정렬

문제 : https://www.acmicpc.net/problem/2752문제 등급 : 브론즈4 문제 풀이 : 단순 정렬하는 문제다. : 세 수 한 줄에 입력 받아서 오름차순으로 정렬해주면 끝 문제 코드const fs = require("fs");let input = fs.readFileSync("/dev/stdin").toString().split("\n");arr.sort(function(a,b){ return a-b;})let answer = ""; // JS 에서는 console.log 반복문으로 반복하는 것보다 문자열에 한 번에 담는게 유리 for(let i =0;i 시간 복잡도 : O(NlogN)

BOJ - 11005 진법 변환 2

https://www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 앞서 풀었던 진법 변환 (2745번)에 이어 두 번째 진법 변환 문제다. B진법인 수를 10진법으로 출력했더라면 이번 문제는 그 반대로 10진법 수 N을 B진법으로 출력하는 문제다. 이번에도 진법 변환 문제처럼 N,B를 입력받고 그 다음 0부터 Z까지 포함된 리스트를 만들어주었다. 풀이 과정은 아래와 같다. 예를 들어 372 라는 10진수 숫자를 생각해보면 10으로 나누면 몫은 37이고 나머..

Front-End 배포 (2) - Github Actions로 CI/CD 구축해보기

이전에 AWS S3와 CloudFront로 배포했었는데 자동 빌드 및 배포를 위해 CI/CD를 구축해보고자 한다. CI/CD를 구축하는 법은 다양하게 있는데 흔히 Jenkins 와 Github Actions 두 가지 방법 중 하나를 사용하는 것 같았다. 난 이 중에서 Github Actions를 선택 했다. 이유는 Jenkins보다 초기 설정이 간단하다는 장점이 있고 현재 회사에서 프론트엔드 업무를 혼자 맡다 보니 시간이나 일정을 고려했을 때 조금이라도 빨리 구축해두는게 낫겠다 싶어서 Github Actions를 선택 했다. 1. IAM 권한 설정 : AWS S3와 CloudFront 로 배포했기 때문에 IAM 권한 설정을 해준다. 나는 회사 AWS 계정 중에서 CI/CD 전용 계정을 새로 만들어서 IA..

FrontEnd Skils 2024.04.04

Front-End 배포 (1) - AWS S3 + CloudFront

회사에서 프로젝트를 진행하던 중 배포를 먼저 해달라는 대표님의 요구사항이 있었고 이를 위해 배포를 먼저 진행하게 되었는데 어차피 프론트엔드 나 혼자이기 때문에 내가 배우고 싶었던 AWS S3와 Cloudfront를 활용해서 배포를 하고 추후 Github Actions로 CI/CD를 구축해보았다. CI/CD 구축은 2번째 포스팅때 하기로 하고 일단 AWS S3와 CloudFront를 활용해서 배포를 해보고자 한다. 1. AWS S3 + Cloudfront를 선택한 이유 : 현재 회사의 프로젝트는 Vite 기반 React로 이루어져 있고 CSR 기반이기 때문에 정적 리소스를 대규모로 특화 되어 있는 S3를 선택했고 또한 회사에서 이미 AWS 환경을 구축한 상태이기 때문에 한 곳에 모아두는 것이 나중에 유지 ..

FrontEnd Skils 2024.04.04

BOJ - 2745 진법 변환

기본부터 다시 시작하자는 마음으로 퇴근하고 기본 문제라도 하루 1~2문제는 풀자고 마음 먹었다. 하반기때는 부디 코테로 발목 잡히지 않기 위해 열심히 해야겠다..! https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 1. 풀이 진법 변환에 대해 생소해서 규칙을 찾는데 애를 좀 먹었다. ex) 2진법 -> 10진법 11111 -> 2**4 + 2**3 + 2**2 + 2**1 + 2**0 = 31 왼쪽 수 부터 갯수만큼 진법으로 바꾸고자 하는 수의 거..