Develop

    프로그래머스 lv.1 - 131128 숫자 짝꿍

    프로그래머스 lv.1 - 131128 숫자 짝꿍 문제 풀이 문제 설명 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다. 예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 ..

    프로그래머스 lv.2 - 92335 k진수에서 소수 개수 구하기

    프로그래머스 lv.2 - 92335 k진수에서 소수 개수 구하기 문제 풀이 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우 P처럼 소수 양쪽에 아무것도 없는 경우 단, P는 각 자릿수에 0을 포함하지 않는 소수입니다. 예를 들어, 101은 P가 될 수 없습니다. 예를 들어, 437674을 3진수로 바꾸면 211020101011입니다. 여기서 찾을 수 있는 조건에 맞는 소수는 왼쪽부터 순서대로 211, 2, 11이 있으며, ..

    프로그래머스 Lv.1 - 118666 성격 유형 검사하기

    프로그래머스 Lv.1 - 118666 성격 유형 검사하기 문제 풀이 문제 설명 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) 4개의 지표가 있으므로 성격 유형은 총 16(=2 x 2 x 2 x 2)가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다. 검사지에는 총 n개의 질문이 있고, 각 질문에는 아래와 같은 7개의 선택지가 있습니다. 매우 비동의 비동의 약간 비동..

    프로그래머스 Lv.1 - 12954 x만큼 간격이 있는 n개의 숫자

    프로그래머스 Lv.1 - 12954 x만큼 간격이 있는 n개의 숫자 문제 풀이 문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 문제의 자세한 내용은 해당 링크를 통해 확인 : 문제 링크 풀이 코드 class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; if(x == 0) { return answer; } for(int i = 0; i < n; i++) { long v = (long)x * (i + 1); answer[i] = v; } ..

    프로그래머스 Lv.1 - 12921 소수 찾기

    프로그래머스 Lv.1 - 12921 소수 찾기 문제 풀이 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 문제의 자세한 내용은 해당 링크를 통해 확인 : 문제 링크 풀이 코드 import java.lang.Math; import java.util.Arrays; class Solution { /** 에라스토테네스의 체 방식의 구현 정확도 테스트 테스트 1 〉통과 (0.80ms, 79.3MB) 테스트 2 〉통과 (0.87ms, 76.8MB) 테스트 3 〉통과 (0.95ms, 79MB) 테스트 4 〉통과 (0.99ms, 67.6MB) 테스트 5 〉통과 (0.97m..

    Main project 개발 회고

    Main project 개발 회고

    Pre project가 마무리된 후 바로 이어서 Main project 개발을 진행하였다! 그렇다 보니 블로그에 정리를 할 시간이 부족해서 미루고 미루다가 Main project가 어느 정도 마무리된 이제서야 작성을 하게 되었다. Main project 요약 프로젝트 주제 : 냥빌리지(Cat village) - SNS 및 정보 공유 게시판 웹앱 프로젝트 기간 : 약 1달, 2022년 09월 07일(수) ~ 2022년 10월 12일(수) 프로젝트 참여 인원 : 총 5명 (프론트엔드 개발자 2명, 백엔드 개발자 2명, 디자이너 1명) 배포 서버 : AWS (EC2, S3, EIP, ALB, Route53, ACM, CloudFront, ...) 배포 링크 : https://catvillage.shop (AW..

    Pre-project 개발 회고

    Pre-project 개발 회고

    Pre project 주제 : 스택 오버플로우(Stack overflow) 클론 코딩 프로젝트 진행 인원은 총 4명으로, 프론트엔드 및 백엔드 각각 2명으로 구성된 팀으로 진행하였다. Main project 전에 해보는 Pre project라서 기간은 약 2.5주로 짧게 진행하였다. 주제는 스택 오버플로우 사이트의 클론 코딩을 진행하였으나, 프로젝트 기간도 짧았거니와 처음 진행하는 프로젝트이다 보니 서툰점이 많아 아쉽게 마무리를 하게 되었다. 프로젝트 진행 과정의 산물 프로젝트를 진행하며 오갔던 내용들을 노션을 이용하여 정리 및 공유하였다. 회의도 거의 매일 하면서 진행을 했고 API 명세, DB ERD, 사용자 요구사항 정의서, 화면 정의서 등을 만들어 가며 진행을 했었다. 마무리 상태에서의 완성되어 ..

    라이브러리와 프레임워크

    라이브러리 특정 기능들에 특화되어 있으며, 쉽게 호출하여 사용할 수 있도록 클래스 및 메서드들을 구현하여 모아둔 집합체 반복적으로 사용되는 동작을 미리 구현하여 제공해 줌으로써 원하는 기능의 구현을 빠르게 할 수 있도록 지원 라이브러리가 제공하는 클래스 및 메서드를 사용하여 원하는 대로 개발 개발을 하다가 해당 기능이 필요할 때 가져다가 사용하는 느낌 프레임워크 특정 기능을 쉽게 개발할 수 있도록 틀을 제공 프레임워크가 제공하는 기능들을 사용하여 개발 라이브러리와는 다르게 원하는 대로 개발이 아닌 틀 안에의 개발 특정 기능을 쉽게 만들려면 제공되는 기능들을 이용해서 개발을 진행하는 느낌 결론 둘 다 특정 기능들을 미리 구현하여 제공한다는 점은 동일하지만 라이브러리는 개발을 하는 도중에 필요에 따라 가져다..

    JPA Fetch Type

    JPA를 사용 시 어노테이션을 사용하여 객체 간 연관관계를 지정하게 되는데, 이때 옵셔널로 설정할 수 있는 항목 중 fetch라는 키워드가 등장하게 된다. (JPQL에서도 fetch join 이라는 단어가 등장하게 되는데, fetch 전략과 fetch join은 다른 내용) Fetch는 간단하게 말하자면 로딩 전략이라고 보면 된다. 즉, 연관관계로 지정되어 있는 객체에 대한 정보를 언제 로드할 것인가?에 대한 내용이라고 볼 수 있다. 그리고 이때 사용되는 fetch type에는 EAGER, LAZY 총 2가지가 존재한다. 그럼 이 2가지의 차이점은 무엇인가? EAGER (즉시 로딩) 객체에 대한 데이터 조회 즉시 연관관계 매핑이 되어있는 객체의 정보 또한 조회하는 방식 즉, 연관관계가 있는 모든 데이터를..

    백준 실버II - 11725 트리의 부모 찾기

    백준 실버II - 11725 트리의 부모 찾기 문제 풀이 문제 설명 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. 문제의 자세한 내용은 해당 링크를 통해 확인 : 문제 링크 풀이 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); // input : count int n..