문제 두 정수 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..
두 수 비교하기 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 512 MB 325755 156900 130425 49.708% 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. 출력 첫째 줄에 다음 세 가지 중 하나를 출력한다. A가 B보다 큰 경우에는 '>'를 출력한다. A가 B보다 작은 경우에는 '
Java에서는 for문과 다르게 for each구문을 사용할 수 있는 방법이 있다. for each문은 자바에서 J2SE 5.0 부터 사용 가능하며, for each 키워드가 따로 있는것이 아닌, for문에서 사용이 가능하다. 조건식 부분의 문법이 조금 다르다. 기존에 다음과 같은 배열과, for문이 있다고 가정하겠다. String[] temp = {"첫번째", "두번째", "세번째"}; for(int i = 0; i < temp.length; i++) { System.out.println(temp[i]); } 위 구문을 다음과 같이 바꿀수있다. String[] temp = {"첫번째", "두번째", "세번째"}; for (String s: temp) System.out.println(s); for ea..
이번엔 자바에서 Integer 기능을 알아보겠다. 우선적으로 int와 Integer의 차이점이 있다. int int 같은경우엔 자료형이라고 표현한다. 주요 특징으로는 산술연산 가능하며 null 초기화가 불가능하다. 따라서 0으로 초기화하는 방법을 이용하고있다. ex) int temp = 0; Integer 다음으로는 Wrapper 클래스의 객체로 사용되고있는 Integer 이다. 산술연산이 불가능하지만 null 초기화가 가능하다. null 값 처리가 가능하여 나중에 SQL과 연동할 시 처리가 용이해진다. Wrapper 클래스라서 특정 기본형 타입으로 나타내는데, Integer 같은경우엔 int형을 저장할 수 있다. ex) Integer temp = new Integer(10); Integer의 값을 in..
자바 예외 처리 이유? 프로그래밍 실행 시 다양한 오류가 발생할 수 있다. 대표적으로는 파일 읽는 프로그램을 실행했지만 파일을 찾지 못하는 경우 문자열을 숫자로 변환하는 프로그램을 실행했을 때 변환할 수 없는 문자열일 경우 배열 범위를 넘어설 경우 이러한 오류는 컴파일 때 모르고 넘어갈 수 있지만, 실제 운영에서 예외 처리 없이 프로그램을 만들 시 에러코드가 사용자에게 그대로 노출되는 경우가 발생하곤 한다. 자바에선 이런 오류에 대응하기 위해서 예외처리라는 기능을 제공한다. 예외처리 만약 예외처리가 없는 경우 어떻게 되는지 보겠다. public class testException { public static void main(String[] args){ String[] temp = new String[2..
이곳저곳 정리하다 보니 결론적으로 한번 도전해보고 싶은 배당 ETF가 정해졌다. 물론 투자는 본인이 알아서 하는 거니까.. 우선 저는 가진 금액도 별로 없고, 지금부터 시작한다고 생각하고 꾸준히 어떤 주식에 적립형으로 넣고 싶은 생각이 들었다. 그에 대해서 찾아본 게 SPY, SCHD, JEPI, JEPQ, QLYD, XLYD... 등등이 있다. 솔직히 말해선 파이어족을 꿈꾸 진하지만 그게 언제 일어나리랴.. 바로는 되긴 힘들고 일확천금을 노리기엔 너무 운이 없는 케이스이기 때문에.. (이전 코인으로 번돈 코인으로 더 잃었다.) 아무 생각 없이 그냥 적립형(적금)으로 월급에만 한해서 돈도 아끼고, 추후 어떻게 될지 모를 나 자신을 위해서 적금식 배당주 ETF를 넣을까 한다. 배당성장 ETF 우선 생각한 ..