본문 바로가기

전체보기198

골프장 키오스크 웹 개발 1. 담당 역할React 기반 골프장 키오스크 무인 체크인/체크아웃 화면 전면 개발외부 결제 단말기(KIS) WebSocket 연동 및 결제 플로우 구현예약 조회·내장객 관리·락커 배정·결제 등 체크인 프로세스 UI 개발커스텀 가상 키보드 구현 (한글 조합 로직 포함)사용자 활동 기반 타임아웃 모달 및 자동 초기화 기능 개발다중 골프장 환경변수 설정 및 골프장별 분기 처리2. 키오스크 소개개발 배경골프장 프런트 데스크의 체크인/체크아웃 업무는 주말 피크타임에 인원이 몰리면서 대기시간이 길어지고 직원 부담이 가중되는 문제가 있었다. 고객 경험 개선과 운영 효율화를 위해 키오스크 무인 시스템 도입이 결정되었고, 예약 조회부터 락커 배정, 결제까지 전 과정을 셀프로 처리할 수 있는 웹 기반 키오스크 애플리케이.. 2025. 12. 29.
[프로그래머스] 서버 증설 횟수 문제 개요온라인 게임 운영에서 시간대별 이용자 수에 따라 서버를 최소한으로 증설하는 문제입니다.문제 조건이용자 수: 각 시간대(0~23시)별 게임 이용자 수m: 서버 한 대로 감당할 수 있는 최대 이용자 수k: 서버 한 대가 운영 가능한 시간목표: 모든 게임 이용자를 감당하기 위한 최소 서버 증설 횟수핵심 규칙서버 필요 조건: 이용자 수가 m명 이상일 때만 서버가 필요필요한 서버 수: Math.floor(이용자 수 / m)서버 운영 기간: 증설한 서버는 k시간 동안 운영증설 횟수: 같은 시간대에 서버를 x대 증설했다면 해당 시간대의 증설 횟수는 x회예시 분석예시 1: m=3, k=5시각 이용자 필요서버 운영서버 증설횟수0~1 0 0 0 .. 2025. 10. 10.
[프로그래머스] 지게차와 크레인 문제 개요1부터 n까지 번호가 매겨진 택배 상자들을 창고에 지그재그 패턴으로 배치하고, 특정 상자를 꺼내기 위해 필요한 총 상자 개수를 계산하는 문제다.문제 조건n: 총 택배 상자 개수w: 가로로 배치할 상자 개수 (한 행의 너비)num: 꺼내려는 상자의 번호배치 규칙첫 번째 행: 왼쪽→오른쪽으로 1, 2, 3, ..., w두 번째 행: 오른쪽→왼쪽으로 w+1, w+2, ..., 2w세 번째 행: 왼쪽→오른쪽으로 2w+1, 2w+2, ..., 3w이 패턴을 반복한다.제약 조건특정 상자를 꺼내려면 그 위에 있는 모든 상자를 먼저 꺼내야 한다.같은 열에 있는 상자들은 세로로 쌓인 구조다.예시 분석n=22, w=6일 때 배치:행 0: 1 2 3 4 5 6행 1: 12 11 10 9 8 7행 2.. 2025. 10. 10.
[프로그래머스] 주차 요금 계산 문제 개요주차 기록 배열과 요금 정책을 받아서 차량별 주차 요금을 계산하는 함수를 구현하는 문제입니다.입력 형식records: 주차 기록 배열 (예: ["16:00 3961 IN","16:00 0202 IN","18:00 3961 OUT","18:00 0202 OUT","23:58 3961 IN"])fees: 요금 정책 배열 [기본시간(분), 기본요금(원), 단위시간(분), 단위요금(원)]출력 형식차량번호 오름차순으로 정렬된 요금 배열 (예: [0, 591])요구사항 분석핵심 요구사항누적 주차시간 계산: 차량별로 모든 입차-출차 시간을 누적출차 기록 없는 경우: 마지막 입차부터 23:59까지 계산요금 계산 공식: 기본요금 + ((누적시간 - 기본시간) ÷ 단위시간) × 단위요금결과 정렬: 차량번호 오름차.. 2025. 10. 9.
[프로그래머스] k진수에서 소수 개수 구하기 문제 이해하기양의 정수 n을 k진수로 변환했을 때, 변환된 수 안에서 특정 조건에 맞는 소수의 개수를 찾는 문제입니다.조건0P0: 소수 양쪽에 0이 있는 경우P0: 소수 오른쪽에만 0이 있는 경우0P: 소수 왼쪽에만 0이 있는 경우P: 소수 양쪽에 아무것도 없는 경우단, P는 각 자릿수에 0을 포함하지 않는 소수여야 합니다.예시437674을 3진수로 변환하면 211020101011이 되고, 여기서 찾을 수 있는 조건에 맞는 소수는:211 (P0 형태)2 (0P0 형태)11 (0P 형태)총 3개입니다.접근 방법1단계: k진수 변환const kBaseNumber = n.toString(k);2단계: 0으로 구분된 숫자들 추출const numbers = kBaseNumber.split("0").filter((.. 2025. 10. 9.
[프로그래머스] 코딩 테스트 공부 문제 상황https://school.programmers.co.kr/learn/courses/30/lessons/118668알고력 공부: 1시간에 알고력 +1코딩력 공부: 1시간에 코딩력 +1문제 풀기: 문제마다 다른 시간과 보상목표는 모든 문제를 풀 수 있는 능력을 얻는 최단시간을 구하는 것이었습니다.첫 번째 시도: BFS로 접근처음에는 BFS(너비 우선 탐색)로 접근해봤다. 상태를 (알고력, 코딩력)으로 표현하고, 각 상태에서 가능한 행동들을 큐에 넣어가며 탐색했다.// BFS 방식 (첫 번째 시도)const queue = [];const visited = Array.from({ length: 151 }, () => Array(151).fill(false));하지만 이 방식에는 문제가 있었다. BFS.. 2025. 10. 8.