Etc.
![[백준] 1009번 분산처리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmAUs9%2FbtrJlGxkCAc%2Fw3lTVcdHajmlc2eTeLQ2Nk%2Fimg.png)
[백준] 1009번 분산처리
문제설명 더보기 문제 재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다. 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ... 총 데이터의 개수는 항상 ab개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라. 입력 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와..
Technical Interview in CS
RESTful API 더보기 Http 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식. 구성요소 Resource(자원) Method(요청 방식,Get or Post) Representation of Resource(자원의 형태, Json or XML등) Call by value 와 Call by reference 차이 더보기 Call by value (값 복사) -인자로 받은 값을 복사하여 처리하는 방식 -call by value에 의해 넘어온 값을 증가 시켜도 원래의 값이 보존된다. Call by reference(주소 복사) -인자로 받은 값의 주소를 참조하여 직접 값에 영향을 주는 방식 -값을 복사하지 않고 직접 참조하기 때문에 속도가..

Technical Interview in Spring
더보기 MVC패턴이란? 구성요소로는 Model, View,Controller이 있다. Model -> 비즈니스 로직을 담당한다. View -> 사용자에게 보여지는 화면 Controller -> 모델과 뷰 사이에서 정보 교환을 할 수 있도록 연결시켜주는 역할 AOP란? 더보기 관점 지향 프로그래밍의 약자로 기존의 OOP에서 기능별로 클래스를 분리했음에도 불구하고, 여전히 반복되는 중복코드가 발생하는 단점이 생긴다. 이를 해결할 수 있도록 개발 코드에서는 비즈니스 로직에 집중하고 , 원하는 지점에 해당하는 공통 관심사를 수행할 수 있게 하는 방식이다. 즉 OOP를 더욱 OOP 답게 해주는 방식이 AOP이다. DI란? 더보기 DI는 의존성 주입의 약자로 3가지 방법이 있습니다. 1.필드주입 2.수정자 주입 3..
Technical Interview in JAVA
객체지향이란? 더보기 프로그래밍에 필요한 데이터를 추상화시켜 객체를 만들고 만들어진 객체들 간의 상호작용을 통해 로직을 구성하는 방법 객체 지향 프로그램의 장/단점 더보기 장점 -코드 재사용 용이 : 남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있다. -유지보수가 쉬움 : 절차 지향 프로그래밍과 달리 객체 지향 프로그래밍은 클래스안에 메서드나 맴버변수로 존재하기 때문에 해당 부분만 수정하면 된다. -대형 프로젝트에 적합 : 클래스 단위로 모듈화시켜서 개발할 수 있으므로 업무 분담하기 편하다. 단점 처리속도가 느리다. 객체가 많아지면 용량이 커진다. 설계시 많은 시간과 노력이 필요 JVM이란? 더보기 Java Virtual Machine. 자바 프로그램을 운영체제, 하드웨어..
![[프로그래머스] 신고결과받기(카카오) JAVA풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdt15nO%2FbtrGnh1xLoi%2FSuZY4Wtg4liYaTht3KDej1%2Fimg.png)
[프로그래머스] 신고결과받기(카카오) JAVA풀이
문제설명 더보기 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k ..
![[백준] 1934번 최소 공배수 구하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd94SE4%2FbtrFXX3Os31%2F9BVHeOjAG6o1EURdaq1gPk%2Fimg.png)
[백준] 1934번 최소 공배수 구하기
문제설명 더보기 문제 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있으며, 최소 공배수는 30이다. 두 자연수 A와 B가 주어졌을 때, A와 B의 최소공배수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 둘째 줄부터 T개의 줄에 걸쳐서 A와 B가 주어진다. (1 ≤ A, B ≤ 45,000) 출력 첫째 줄부터 T개의 줄에 A와 B의 최소공배수를 입력받은 순서대로 한 줄에 하나씩 출력한다. 예제 입력 1 3 1 45000 6 10 13 17 예제 출력 1 45000 30 221..

유클리드 호제법(Euclidean Algorithm)
유클리드 호제법 유클리드 호제법은 두 수의 최대 공약수를 구하는 알고리즘이다. 일반적으로 최대 공약수를 구하는 방법은 소인수분해를 이용한 고통된 소수둘의 곱으로 표현할 수 있지만 유클리드 호제법은 좀 더 간단한 방법을 제시한다. 핵심이론 유클리드 호제법을 수행하려면 MOD연산을 이해하고 있어야 한다. 연산 기능 예제 MOD 두 값을 나눈 나머지를 구하는 연산 10 MOD 4 = 2 MOD 연산으로 구현하는 유클리드 호제법 1) 큰수를 작은수로 나누는 MOD 연산을 수행한다. 2) 앞 단계에서의 작은 수와 MOD 연산 결괏값으로 MOD연산을 수행한다. 3) 나머지가 0이 되는 순간의 작은 수를 최대 공약수로 선택한다. 손으로 풀어보기 코드로 구현하기 public int Euclidean(int N, int..

에라토스테네스(Eratosthenes)의 체
소수란? 소수는 자신보다 작은 2개의 자연수를 곱해 만들 수 없는 1보다 큰 자연수를 말한다. 이와 같은 의미로 1과 자기 자신 외에 약수가 존재하지 않는 수를 말한다. 소수를 구하는 대표적인 판별법으로는 에라토스테네스의 체가 있다. 에라토스테네스의 체 원리를 살펴보자. 에라토스테네스의 체 원리 1) 구하고자 하는 소수의 범위만큼 1차원 배열을 생성2) 2부터 시작하고 현재 숫자가 지워지지 않을 때는 현재 선택된 숫자의 배수에 해당하는 수를 배열에서 끝까지 탐색하면서 지운다. 이때 처음으로 선택된 숫자는 지우지 않는다.3) 배열의 끝까지 (2)를 반복한 후 배열에 남아 있는 모든 수를 출력한다. 1부터 30까지의 수 중 소수를 구하는 예시를 보면서 원리를 이해해보자. 1) 먼저 주어진 범위까지 배열을 생..