2025/04 10

[Node.js] 1913. 달팽이

문제 설명홀수인 자연수 N이 주어지면, NxN 그리드에 달팽이(=나선형) 모양으로 값을 채우는 문제이다.단 N 문제 풀이1. 시작 지점을 구해야 한다. 👉 sr, sc (startR, startC)- N = 3일 경우, (1,1)- N = 5일 경우, (2,2)- N = 7일 경우, (3,3)sr = Math.floor(N / 2)sc = Math.floor(N / 2) 2. 나선형으로 돌려야한다.아래 그림을 보면 맨처음은 위로 1번 이동하고 오른쪽으로 1번 이동하는 것을 알 수 있다.그 다음에는 아래로 2번 이동 왼쪽으로 2번 이동했다.그 다음에는 위로 3번 이동 오른쪽으로 3번 이동했다. 같은 방향으로 가야하는 칸의 수를 step이라고 하고, step = 1로 초기화한다.- step = 1 로 ..

Algorithm 2025.04.24

[뽀각코]서비스 플로우 차트

개발 당시에는 기능 구현과 일정에 집중하느라 흐름도를 그리지 못했다.하지만 프로젝트가 마무리되고 시간이 지나있는 지금, 포트폴리오를 정리하면서 흐름도를 그려보았다.막상 시작하니 내가 어떤 고민을 했고, 어떤 구조로 만들었는지를 다시 떠올릴 수 있어 아주 유의미한 작업이었다.특히 사용자가 입장하고 나가기까지 소켓을 어떤방식으로 활용했지에 대해 다시 떠올릴 수 있었다. 팀원과의 2차 개발, 언젠가는현재는 팀원들 모두 현생이 바빠 잠깐 프로젝트는 1차 개발로 완료된 이후 멈춘 상태이다.물론 나는 실제로 프로젝트를 써보며 구글, 카카오 로그인을 백엔드 개발자 한분과 추가적으로 개발을 했었다. (+최근 로그인 방식 저장)하지만 이렇게 흐름도로 남겨두니, 다시 우리가 모여 2차 개발을 시작할 때 도움이 될 수 있을..

뽀각코 2025.04.19

[JavaScript] 백준 12933. 오리

우선 자랑부터2등이긴 하지만 거의 1등과 다름없는 성과가 있었다. 문제 설명"quackquack" 과 같이 오리 녹음소리가 입력으로 주어질 때, 동시에 울고 있는 오리 수를 구하는 문제이다. 예를 들어, quackquack은 동시에 울고 있는 오리가 없기 때문에 1마리이다.quqacukqauackck : 2마리quackquackquackquackquackquackquackquackquackquack : 1마리qquuaacckk : 2마리  오리 녹음 소리가 올바르지 않은 경우는 -1을 리턴한다.1) 순서대로 아닌 경우 (예. kcauq)2) 녹음이 끝난 후 오리가 울다가 끝난 경우 (예. qquack) 문제 풀이동시에 울고 있는 오리 수를 어떻게 구할까? 기본적인 동작을 먼저 생각해보았다. 예를 들어,만..

Algorithm 2025.04.11

웹 폰트 최적화 (1) : 꼭 필요한 이유와 font-family 설정 팁

웹 폰트 최적화웹 폰트는 네트워크를 통해 다운로드되기 때문에,다운로드 사이즈를 줄이거나, 폰트 적용 시점을 조절해 최적화할 수 있다. 예제 상황 네트워크 설정을 Fast 4G로 설정하고 테스트했다.폰트 사이즈: 1.9MB로드 시간: 11.76초문제: 페이지가 로드된 후 약 12초 뒤에야 폰트가 적용됨웹 폰트 최적화해야 하는 이유네트워크 상황에 따라 느리게 폰트가 적용될 가능성이 있으며, 다음과 같은 문제가 생길 수 있다.폰트가 깜빡인다. (기본 폰트 → 커스텀 폰트로 변경되는 과정에서의 깜빡임)다른 요소를 밀어낼 수 있다.폰트 렌더링 방식 (FOUT vs FOIT)폰트는 "다운로드가 완료된 시점"에 적용된다.그럼 다운로드 전까지 텍스트는 어떻게 보일까?FOUT기본 폰트를 먼저 보여주고, 커스텀 폰트 로드..

카테고리 없음 2025.04.09

[JavaScript] 백준 14888. 연산자 끼워넣기

문제 설명입력 예시- 2개의 숫자 5, 6이 주어짐- 연산자 순서대로 +, -, x, ÷ 이 개수를 나타내며, 곱셈을 한개 가지고 있음을 의미25 60 0 1 0 숫자 사이의 연산자를 원하는 대로 조합하여 구할 수 있는 결과값 중 가장 큰 값과 가장 작은 값을 리턴하는 문제이다. 문제 풀이N 이는 1초에 해당하는 1억번의 연산보다 적은 수이므로 모든 조합을 구한다, 즉 백트래킹 문제이다. 우선 사칙 연산의 결과를 리턴하는 함수를 별도로 분리했다.function getResult(a, b, opNum) { if (opNum === 0) return a + b; else if (opNum === 1) return a - b; else if (opNum === 2) return a * b; else {..

Algorithm 2025.04.08

[JavaScript] 백준 2294. 동전2

백준 링크https://www.acmicpc.net/problem/2294문제 접근우선 가치 K를 완성하기 위해 필요한 최소 동전 개수를 구하기 위해완전 탐색 방식으로 접근을 시도 했다.그림 설명가치는 K이고 동전은 [1,2,3,4....N] 가정했을 때,Top Down 방식으로 생각한다면, 가치 K가 되기 위해서는 K-1, K-2, K-3, .....K-N 에서 동전 한개를 추가했을 것이다.따라서 트리형식이고, 이 경우의 시간복잡도는 O(N^K)이 된다.그리고 시간 초과가 된다. 따라서 다른 방식을 생각해내야 했다. 그렇다면 DP는 어떨까? 가치 K가 되기 위해서는 dp[K-coin] + 1 과 dp[K] 의 최소값을 넣어주면 될것같았다. 이중 반복문을 사용하여,첫번째 반복문 -> 모든 코인에 대해 순..

Algorithm 2025.04.02

2025년 3월 한달 회고

한달 동안 취업 준비에 매진했고 3개의 취업 스터디를 병행했다. '나'라는 사람에 집중하면서 과연 내가 좋아하는 일이 무엇일까를 고민하게 되는 한달이였다. 체인지업 스터디면접관 이형이 진행하는 '체인지업'에 참여했다.여기서는 자율적으로 스터디를 모집할 수 있었는데, 스터디 구하는 것부터가 힘들었다. 마음에 드는 스터디를 총 10곳을 지원한 끝에, 겨우 한 팀에 합류할 수 있었다. 결국, 마음에 맞는 5명의 사람이 같이 팀을 이뤄 스터디를 진행했고, 우리만의 규칙을 세웠다.- 매일 루틴 : 오전 8시기상, 경제신문스크랩, 1일 1형 시청, 운동- 그룹 스터디 : 일주일 3번 스터디 진행 (경험 분해(3C4P), 자기소개서 첨삭)- 모각공 : 일주일 3번 이상 매일 루틴을 실천하면서 팀원들의 열정적인 태도에..

카테고리 없음 2025.04.01
728x90