코딩테스트 연습 - 종이 자르기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 종이 자르기 종이 자르기 문제 설명 머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다. 정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요. 제한사항 0
코딩테스트 연습 - 연속된 수의 합 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 연속된 수의 합 문제 설명 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요. 제한사항 1 ≤ num ≤ 100 0 ≤ total ≤ 1000 num개의 연속된 수를 더하여 total이 될 수 없는 테스트 케이스는 없습니다..
코딩테스트 연습 - 다음에 올 숫자 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다음에 올 숫자 문제 설명 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요. 제한사항 2
코딩테스트 연습 - 옹알이 (1) | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 옹알이(1) 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100..
현재 JPA로 웹 프로젝트를 진행 중인데 에러가 발생했다. 에러 내용은 Error executing DDL "create table xxx (id number(19,0) generated as identity,.... content TEXT not null....) via JDBC Statement.... 이에 내용을 조사하던 도중에 원인을 발견했다. JPA에서는 자동으로 create table을 해주는 설정이 있는데, (application properties 부분) 그 부분에서 사용했던 hibernate ddl-auto를 create, generate-ddl를 true로 하고 사용을 한다면 자동으로 쿼리를 작성하여 db 테이블에 쏴준다. 문제는 그 자동에 있음인데, 해당 부분은 ORACLE DB를 이..
AWS 인스턴스 1번째 글에서 따와서 시작한다. 2023.03.03 - [프로그래밍/AWS 세팅하기] - AWS 프리티어 관련 글(AWS 가입, EC2, 인스턴스 시작) 인스턴스가 발행이 된다면 다음과 같이 나올것이다. 필자는 이미 퍼블릭 IP주소와 탄력적 IP주소를 맞춘 상태이다. 여기서 탄력적 IP 주소에 대해서 설명하겠다. 우리는 웹서버를 사용한다는게 naver.com 과같이 DNS를 이용해서 웹서버에 접속하지만, 고정IP를 이용해서 들어가는것과 같은 효과를 가지고있다. 그럼 아마존에서는 그 고정IP를 발급시켜주는게 탄력적 IP라고 하는것이다. 그래서 저 탄력적 IP를 발급을 받아서 사용하면된다. 탄력적 IP주소 할당을 하고(주의할건 1개 이상을 받게되면 요금이 발생한다!) 별다른 설정을 거치지않고..
아마존 웹서비스에서는 프리티어라고 1년간 무료인 웹서버를 공짜로 제공한다. 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정 aws.amazon.com 이곳에서 우측 상단에 로그인을 해야한다. 초회 가입시에는 계좌랑 입력을 하는데, 이는 유료전환시에 바로 청구되기때문에 잘 관리가 필요하다. 가입을 하고나서 로그인하면 콘솔에 로그인이 있는데, 해당 버튼을 눌러서 서버를 만들어보자. 서버를 만들기전에 우..
Java에선 JSON 관련해서 파싱이나, 받을일이 많아진다. 예를들자면 [{"테스트" , "테스트"}, {"22", "22"}] 이런식의 스트링이지만, JSON 배열으로 나오는 경우가 종종있다. 그럼 해당 메서드를 어떻게 빠르게 처리할 수 있을지 고민해봤는데, 우선 import는 다음과 같이 했다. import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; 세가지에 대해서 정리해보았다. JSONArray -> 이 타입은 JSON형의 문자를 배열형식으로 (Array 형태) 되어있을때 사용 가능한 클래스다. JSONObject같은 경우엔 {"key" , "value"}의..
코딩테스트 연습 - 짝수와 홀수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" programmers.co.kr 짝수와 홀수 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 문제풀이생각은 다음과같이 했다. 간단한 문제..
코딩테스트 연습 - 최대공약수와 최소공배수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 최대공약수와 최소공배수 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니..
코딩테스트 연습 - 콜라츠 추측 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 콜라츠 추측 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이..
코딩테스트 연습 - 평균 구하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 평균 구하기 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr programmers.co.kr 평균 구하기 이번 문제는 간단하게 배열에 대한 것과 for문을 사용해서 풀라고 해둔 것 같다. 평균 구하기 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return 하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,0..
문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다. 정답 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(sc.nextDouble() / sc.nextDouble()); } }
https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 하샤드 수 이번 문제는 /와 % 의 적절한 조화를 원하는 문제로 판단된다. 문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, sol..
LinkedList 클래스는 ArrayList와 다른 점이 있다. ArrayList는 데이터들이 순서대로 쭉 늘어선 배열의 형식을 가지고 있지만, LinkedList의 경우 순서대로 늘어선 게 아니라 자료의 주소 값으로 서로 연결되는 구조를 하고 있다고 볼 수 있다.(C의 포인터 개념) LinkedList의 장점은 몇 개의 참조자만 바꿈으로 새로운 자료의 삽입이나 기존 자료를 위치에 관계없이 빠르게 수행할 수 있다는 장점이 있다. ArrayList 및 List 관련해서는 아래 글을 참조하면 된다. 2023.02.05 - [프로그래밍/JAVA 프로그래밍] - Java - List 클래스 add add 메서드는 ArrayList와 같이 뒤에 붙여주는 거로 사용된다. 실제로는 위 사진과 같이 마지막 노드 뒤에..
코딩테스트 연습 - 2016년 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 2016년 이번 문제는 날짜 관련된 클래스를 이용하여 풀라고 만든 문제이다. 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b 인 무슨 요일일까요? 두 수 a , b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,W..
Java 기능 중에 원하는 시간대로 출력하기 위해서 사용하는 클래스가 있다. SimpleDateFormat 실제로 원하는 날짜 규격을 맞추기 위해 사용되곤 한다. 예를 들자면 2022/06/23를 2022-06-23로 바꾸고 싶다던지.. 등등 여러 군데에서 사용된다. SimpleDateFormat에는 지정된 규격의 패턴이 존재하는데 다음과 같이 사용된다. 패턴 뜻 출력값 G 연대 (BC, AD) AD y 연도 2022 M 월(1~12) 6 w 해당 연도의 몇번째 주인가?(1~53) 26 W 해당 월의 몇번째 주 4 D 해당 연도의 몇번째 일 174 d 해당 월의 몇번째 일 23 F 해당 월의 몇번째 요일 4 E 요일 목 a 오전/오후 PM H 시간(24시) 13 h 시간(12시) 1 K 시간(0~11) ..
SpringBoot를 활용하여 React, JPA로 개발을 시작할 예정이다. 우선 기초적인 목표인 게시판부터 시작하는게 맞다고 생각이든다. Spring.io에서는 간단하게 SpringBoot 어플리케이션을 초기 세팅해주는 사이트를 운영하고있는데 아래 url 주소로 들어가보자. 프로젝트 생성하기 https://start.spring.io/ 본 글은 23년 2월 18일 글로 프로젝트, Spring Boot 버전 및 자바 버전이 다음과 같다는점을 알린다. SpringBoot 3.0.2, Java 11 버전 개발. 그다음 기초적으로 디펜던시를 설정해주겠다. (앞으로 사용하면서 추가될 디펜던시가 많을수도..) Dependencies Setting Lombok , Spring Web 두개만 들고 갈 생각이다. Lo..
https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr 핸드폰 번호 가리기 이번 문제는 치환에 관한 문제였다. 문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요...
문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A-B를 출력한다. 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(sc.nextInt() - sc.nextInt()); } }
주로 Java를 공부할 때 String 객체를 많이 사용하게 된다. 하지만, String객체는 설계부터가 불변 객체로 설계되었기 때문에 한번 생성이 되면 내용을 바꿀 수 없는 단점이 있다. (물론 자바에서는 바꾸게 해 주지만,) 예를 들어서 String test = "test"; 라는 코딩을 했다고 가정하자, test라는 문자열 인스턴스를 메모리에 생성하게 된다. test라는 레퍼런스는 "test"라는 값을 가지고 있고, 단지 test는 "test"라는 문자열을 가리키는 레퍼런스가 된다. (C 포인터 개념으로 생각하면 됨.) 하지만, 우리는 코딩할 때 다음과 같이 문자열을 늘리거나 추가를 한다. test += "테스트"; 그럼 출력 결과는 원하는 대로 나오는가? 정답은 yes다 출력 결과를 본다면 다음과..
코딩테스트 연습 - 행렬의 덧셈 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr 행렬의 덧셈 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 arr1 arr2 re..
코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr x만큼 간격이 있는 n개의 숫자 문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 100000..
코딩테스트 연습 - 직사각형 별찍기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수 programmers.co.kr 직사각형 별찍기 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 문제 풀이는 다음과 같이 했다. 입력값을 토대로 첫번..
가끔은 @RequestBody 자체에 날라오는 Json값을 수동으로 받기 위해서, 또는 여러 JSON데이터를 받고 DTO에 직접 넣지않고 내가 제어하기 위해서 사용하고 싶을때가 있다. Controller에서 위와 같은 상황을 제어 할 수 있는 방법이 있다. Controller @RequiredArgsConstructor @RestController public class ApiController{ private final ApiService apiService; @PostMapping (value ="경로", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public..
문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 답 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.print(sc.nextInt() + sc.nextInt()); } }
코딩테스트 연습 - 가운데 글자 가져오기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 다음은 문자열을 뽑아내는 알고리즘을 이용한 가운데 글자 반환 문제를 풀겠다. 가운데 글자 가져오기 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "ab..
코딩테스트 연습 - 부족한 금액 계산하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 프로그래머스 코딩테스트에서 2번째 문제를 풀게 되었다. 부족한 금액 계산하기 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 ..
프로그래머스에서 스킬 체크 테스트 level.1에 나온 알고리즘 문제가 있다. 코딩테스트 연습 - [1차] 비밀지도 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 비밀지도라는 문제인데 다음과 같이 설명한다. 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다...
리스트란? 배열과 비슷하지만, 배열의 한계를 극복하기 위해 만들어진 기능. 배열은 사용하기 위해서 초기에 크기를 입력해야 한다. 예를 들자면, 배열의 크기를 10으로 정했다면, 10개 이상의 값을 담기엔 무리가 있다. 하지만, 리스트의 경우 크기가 정해져 있지 않아서 원하는 만큼의 값을 담을 수 있다. List의 탄생은 프로그래밍 시 항상 크기를 알 수 없는 것인데, 그래서 List 가 생겼다고 볼 수 있다. List 같은 경우, 메모리가 허용하는 한 무제한으로 추가할 수 있다. List의 경우 다음과 같이 사용 가능하다. List & ArrayList /* * @author coderBasic */ public class listTest { public static void main(String[] a..