분류 전체보기 51

N개의 최소공배수

최소공배수 문제 풀러가기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr이번 문제는 N개의 숫자가 주어졌을 때 해당 수들의 최소공배수를 구하는 문제이다.예를 들어 2,7의 최소공배수는 14라는것을 모두들 알 것이다. 해당 문제에서는 n개의 숫자가 담긴 int형 배열 arr이 제공된다.기존에 알고있던 공식을 이용하여 문제를 풀어보았다. ex > a,b라는 정수가 있는 경우(ab의 최소공배수 = a * b / a,b의 최대공약수)  의 공식을 이용하여 풀어낼 수 있다.하지만 이는 3개 이상의 수를 한번에 계산하는 방식으로는 옳지 못하다 판단하였다. 이에 해당하는 반례를 찾아보았다. {4,6,8} 이라는 값이..

코딩테스트 2025.02.22

JSON, Scale Up, Scale Out

JSON 이란?JSON은 클라이언트와 서버가 통신할 때 사용되는 데이터 양식이다. 클라이언트와 서버가 사용하는 언어 상관없이 통일된 데이터를 주고받을 수 있도록 만들어준다. ※ 과거 웹 초기부터 사용된 xml은 가독성이 떨어지고, 불필요한 용량이 단점으로 항상 지적받아왔다.-> 간결하고 통일된 양식으로 각광받고 있는 것이 바로 JSON이다. 요약JSON은 사람, 기계 모두 이해하기 쉬우며 용량이 작다.XML을 대체해서 데이터 전송 등에 많이 사용한다.마치 전세계 공통어로 영어를 사용하는 것처럼 Web의 세계에서는 JSON(Java Script Object Notation)을 공통어로 사용한다.  Scale Up, Scale Out은 무엇일까?서버의 성능을 향상하기 위한 두 가지 방법이다. 두 방법에는 약..

컴퓨터 용어 2025.02.21

방금 그곡

방금 그곡 풀어보러 가기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr이번 문제는 2018년 KAKAO BLIND RECRUITMENT에서 나왔던 문제라고 한다. 방금 그곡이라는 문제이다.문제의 내용이나 조건 같은것은 직접한번 살펴보길 바란다.  일단 작성된 전체 코드는 이러하다public static String solution(String m, String[] musicinfos) { String answer = "(None)"; int maxPlayTime = 0; // 기억한 멜로디 변환 (C# -> H 등) m = convertSharpNotes(m); for (St..

코딩테스트 2025.02.21

프로그래밍 명명 규칙(Casing)

프로그래밍 세계에서는 각각의 언어, 환경에 맞는 명명 규칙이 존재한다.프로그래밍에서 일관된 명명 규칙을 따르는 것은 코드의 가독성을 높이고 유지보수를 용이하게 만드는 중요한 요소이다. 1. snake_casesnake_case는 각 단어를 _(언더바)로 연결하여 작성하는 방식이다.Python이나 DB Table, Column에 사용된다.모든 단어는 소문자이거나 대문자이다.예시)user_name = "John Doe"  # 변수명get_user_data()  # 함수명  2. camelCasecamelCase는 첫 단어는 소문자로 시작하고, 이후 단어의 첫 글자를 대문자로 작성하는 방식이다.Java, JavaScript, TypeScript에서 변수, 함수, 메서드 이름을 작성할 때 사용된다.언더바 없이 ..

컴퓨터 용어 2025.02.20

피로도

피로도 문제 풀러가기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해당 문제는 완전 탐색을 요구하는 문제이다. 문제에서는 피로도 라는 시스템이 있고 던전을 탐험하기 위해서는 최소 필요 피로도가 있으며, 던전을 탐험하고 나면 보유 피로도에서 소모피로도 만큼의 피도로가 까이게 된다. 이러한 방식 속에서 주어지는 던전들을 최대한 많이 도는 방법을 찾아야 하므로 DFS와 백트래킹을 이용하여 해당 문제를 풀어보기로 하였다. 가장 먼저 해주어야 할 것은 전역으로 사용가능한 값들을 선언하는 것이다.static boolean[] visited; //방문 여부를 저장할 배열static int maxDungeonCou..

코딩테스트 2025.02.20

DNS, URI, URL

DNS(Domain Name System)DNS는 도메인 이름과 IP주소를 서로 변환하는 역할을 수행한다. 즉, 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을수 있는 IP주소로 변환하는 것이다. DNS의 등장 배경1. 컴퓨터 간의 통신을 위해서는 IP주소가 필요하다.IP주소는 사이트마다 특징도 없고 길어서 외우기가 힘들다.IP주소가 변경된다면 새로운 IP에 대하여 접근할 수가 없다.2. IP는 변경되는 주소이다.일반적으로 가정집에서 사용되는 IP는 유동 IP이다. (변경 된다는 소리)DNS의 동작 순서1. 원하는 이름의 도메인을 구매 후, DNS서버에 등록한다. 2. 도메인 명을 입력하면 DNS서버는 IP주소를 반환한다. 3. 만약 IP가 변경되면 DNS서버에 등록된 IP주소만 바뀌면 된다. 4. 우..

네트워크 2025.02.19

2018 KAKAO BLIND RECRUITMENT [1차 캐시]

캐시 문제 풀러 가보기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr해당 문제를 풀기 위해서는 LRU가 무엇인지 먼저 알아야 한다.  LRU(Least Recently Used)가장 오랫동안 사용되지 않은 데이터를 제거하는 기법주로 캐시 메모리 관리나 페이지 교체 알고리즘에 사용LRU의 사전적 의미는 이러하고 어떻게 진행되는지 이해하기 쉽게  알아보자 값이 들어갈 수 있는 3개의 칸이 캐시의 크기이다.찾으려고 하는 값이 캐시에서 찾을 수 있는 경우 hit, 그렇지 않은 경우 miss이다. 먼저 1,2,3의 경우 캐시에서 값을 찾을 수 없지만 캐시에 남는 공간이 있기에 각각의 값이 캐시에 추가가 된다.해..

코딩테스트 2025.02.18

피보나치 수열(프로그래머스)

피보나치 수열 풀러 가보기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 피보나치 수열이란 0,1,1,2,3,5,8... 이런식으로 n번째의 항이 n-2번째 수와 n-1번째 수의 합을 갖는 형식을 말한다. 가장 먼저 기초적인 반복문을 이용하여 해당 풀이를 진행하였다.// 단순 반복문을 이용한 피보나치 수열 계산public static int solution1(int n) { int f0 = 0; int f1 = 1; int f2 = 2; for (int i = 1; i 변수 3개와 반복문 만을 이용하여 계산한 풀이법이다.for반복문의 시작값이 i=1이기 때문에 총 n-1번이 진행되..

코딩테스트 2025.02.17

오!너 (Trouble Shooting)

1. 문제 정의 TODO.1 카드의 Attachment기능 부분을 구현함에 있어 파일을 aws의 버킷에 저장을 하여 URL주소를 받아오는 것 까지는 잘 수행되었으나 해당 URL로 접속을 하여도 이미지가 보이지 않고 ACCESS DENIED가 발생하는것을 발견 (캡처를 못해 Board에서 똑같은 문제발생 화면으로 대체 ) 2.  원인AWS의 버킷에 저장하고 url을 가져오는 것 까지는 문제없이 잘 되는 상황이다. 해당 url로 이동을 하여 보여지는 화면에서 AccessDenied라는 오류 코드를 확인할 수 있었다. 그렇다면 해당 Access에 접근하는 권한이 없다는 소리가 아닐까 생각했다. 3. 해결방안구글링을 통해 버킷의 '퍼블릭 액세스 차단(버킷 설정)' 부분을 건드려주면 된다는 것을 확인했다.  기존..

카테고리 없음 2024.12.31

Plus_week(Trouble Shooting)

1. 문제 정의 TODO.1 트랜잭션의 이해를 수행하던중 개선 조건에 맞춰 작동시키기 위해 @Transctional 어노테이션을 이용하였는데 rentalLogService.save에서 RuntimeException이 계속하여 발생하는 현상을 발견 해당 기존 코드 - ( ReservationService.java 일부 )// TODO: 1. 트랜잭션 이해public void createReservation(Long itemId, Long userId, LocalDateTime startAt, LocalDateTime endAt) { // 쉽게 데이터를 생성하려면 아래 유효성검사 주석 처리 List haveReservations = reservationRepository.findConflictin..

카테고리 없음 2024.12.19