분류 전체보기 390

[JAVA] Pro 유사 칸토어 비트열

문제 https://school.programmers.co.kr/learn/courses/30/lessons/148652?language=java# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 class Solution { // 1~k번째 까지 1이 몇개 존재하는지 public long cal(int n, long k){ long temp=0; long pre=0; for(int i=n; i>=0; i--){ long t=k/(long)Math.pow(5,i); k-=t*(long)Math.pow(5,i); if(pre==2) continue; p..

문제풀이/기타 2023.07.10

[JAVA] [그리디] Pro 마법의 엘리베이터

문제 https://school.programmers.co.kr/learn/courses/30/lessons/148653?language=java 코드 class Solution { public int cal(int[] arr, int i){ if(arr[i]==10){ arr[i-1]+=1; arr[i]=0; } // 현재 값이 4이하이면 그대로 return if(arr[i]=5){ arr[i-1]+=1; return 10-arr[i]; } else{ return arr[i]; } } // 현재 값이 6이상이면 10-현재 값 return else{ arr[i-1]+=1; return 10-arr[i]; } } public int solution(int storey) { int answer = 0; St..

TCP/IP

OSI 7계층과 TCP/IP 4계층을 비교하여 설명해 주세요 OSI 7계층은 네트워크 통신을 표준화한 모델로, 통신 시스템을 7단계로 나누어 설명한 것입니다. 하지만 OSI 모델이 실무적으로 이용하기에 복잡한 탓에 실제 인터넷에서는 이를 단순화한 TCP/IP 4계층이 사용되고 있습니다. TCP vs UDP를 비교해서 설명해 주세요 ⭐ TCP는 신뢰성 있는 데이터 전송을 보장하는 연결형 프로토콜입니다. 데이터 전송 전에 3-way handshake라는 과정을 거쳐 클라이언트와 서버 간의 연결을 설정하고, 데이터 전송 후에는 ACK 패킷을 보내 에러 검사 및 데이터 수신 여부를 확인합니다. 이러한 방식으로 데이터를 전송함으로써, 데이터 손실이나 중복 전송을 방지하고, 데이터의 정확성과 일관성을 보장합니다. ..

[JAVA] [구간합] 백준 11660 구간 합 구하기 5

문제 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 코드 import java.util.*; import java.io.*; public class b11660 { public static int cal(int[][] result, int x1, int y1, int x2, int y2){ return result[x2][y2]-result[x2][y1-1]-result[x1-1][y2]+result..

문제풀이/기타 2023.07.09

[JAVA] Pro 이모티콘 할인행사

문제 https://school.programmers.co.kr/learn/courses/30/lessons/150368?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { ArrayList arr=new ArrayList(); class emo{ int count; int price; emo(int count, int price){ this.count=count; this.price=price; } } public void dfs(int n, String s, i..

문제풀이/기타 2023.07.07

Index

Index가 왜 필요한가요? 테이블의 모든 데이터를 순차적으로 검색하는 것은 시간이 오래걸리기 때문입니다. 조건을 만족하는 튜플을 빠르게 조회하기 위해 [꼬꼬무1] select의 성능을 높일 수 있는 방법은 뭐가 있을까요? 가장 대표적인 방법으로는 Index 생성, 조건절 최적화, join 최적화, 필요한 컬럼만 추출 등이 있습니다. [꼬꼬무2] index의 내부동작은 어떻게 동작하나요? 내부 구현 알고리즘에 따라 다르지만 균형 바이너리 서치 트리를 사용하는 경우 key의 크기 기준으로 나보다 작으면 왼쪽 서브트리 탐색, 나보다 크면 오른쪽 서브트리를 탐색해 O(log n)시간에 탐색합니다. [꼬꼬무3] index를 많이 생성하면 안되나요? 인덱스 생성자체가 추가적인 메모리를 사용하고 insert, de..

데이터베이스 2023.07.07

[JAVA] Pro 택배 배달과 수거하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/150369?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public class house{ int index; int value; house(int index, int value){ this.index=index; this.value=value; } } public long solution(int cap, int n, int[] deliveries,..

문제풀이/기타 2023.07.06

Transaction

Transaction을 간단히 설명해 주세요 ⭐⭐ 트랜잭션이란 데이터베이스의 상태를 변경시키기 위해 수행하는 작업의 논리적인 단위입니다. 트랜잭션은 데이터베이스의 신뢰성과 일관성을 지키기 위해 ACID라는 4가지 원칙을 만족해야 합니다. [꼬꼬무1] commit과 rollback에 대해 설명해보세요 commit이란 지금까지의 수정사항들이 db에 영구적으로 반영되는 것을 의미하며 rollback은 지금까지의 변경사항을 취소하고 이전 커밋 상태로 되돌리는 것을 의미합니다. [꼬꼬무2] 원자성, 일관성, 고립성, 지속성이 뭔가요? 원자성(Atomicity) 한 트랜잭션 내의 연산 중 하나라도 실패하면 rollback하고 전부 실행이 되는 경우에만 commit하는 것을 의미합니다. 일관성(Consistency)..

데이터베이스 2023.07.06

[JAVA] Pro 호텔 대실

문제 https://school.programmers.co.kr/learn/courses/30/lessons/155651?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(String[][] book_time) { // 방 종료시간을 저장할 List ArrayList arr=new ArrayList(); // 분 단위로 변경하기 위한 배열 "15:00" -> 900 int[][] time=new int[book_time.leng..

문제풀이/기타 2023.07.04

DB구조 & 설계

primary key가 무엇인지 설명해 주세요 후보키 중 null을 허용하지 않고 튜플을 가장 잘 구분할 수 있는 대표키 [꼬꼬무1] primary key와 foreign key에 대해 설명해 주세요 테이블의 연관관계를 나타내기 위해 다른 테이블의 기본키를 참조하는 키 [꼬꼬무2] candidate key에 대해 설명하시오 튜플을 구분할 수 있는 최소한의 attribute 조합 [꼬꼬무3] alternate key에 대해 설명하시오 후보키 중 기본키에 해당하지 않는 키 [꼬꼬무4] composite key에 대해 설명하시오 두개 이상의 컬럼을 묶어서 기본키로 사용하는 것 관계형 데이터베이스의 N:M 관계에 대해서 설명해 주세요 N:M 관계는 관계를 가진 양쪽 엔티티 모두에서 1:N 관계를 가지는 것을 말..

데이터베이스 2023.07.04