본문 바로가기

전체 글

(104)
24. 07. 30 Javaclass Solution { public int solution(int n) { String a = ""; while(n > 0){ a = (n % 3) + a; n /= 3; } a = new StringBuilder(a).reverse().toString(); return Integer.parseInt(a,3); }}10진수를 3진수로 바꾼 후 거꾸로 뒤집고 다시 10진수로 바꾸는 코드. Integer.parseInt의 두 번째 인자값으로 진수를 지정할 수 있음.진수 지정해주면 해당 진수에 맞는 값이 됨.  문자를 대문자 / 소문자로 변경할 때String만 toUpperCase()..
24. 07. 29 Java배열 내림차순 구현하기char[] sol = str.toCharArray(); Arrays.sort(sol); return new StringBuilder(new String(sol)).reverse().toString(); StringBuilder에 reverse라는 문자열을 뒤집어 주는 함수가 있다. import java.util.*;public class Example { public static void main(String[] args) { StringBuilder str = new StringBuilder("Hello World!"); System.out.println(str.toString()); str.reverse(); System.out.pri..
24. 07. 27 SQLDATETIME에서 DATE로 형변환https://school.programmers.co.kr/learn/courses/30/lessons/59414 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krSELECT animal_id, name, date_format(datetime, '%Y-%m-%d') '날짜'from animal_insorder by animal_id Y -> 4자리 연도 출력y -> 2자리 연도 출력M -> 영어 달 이름 출력m -> 달 숫자 출력D -> 영어 일 출력d -> 숫자 일 출력H -> 0 - 24 시간h -> 0 - 12 시i..
24. 07. 26 SQLHaving 과 Where의 차이WHERE 절에서는 집계함수를 사용할 수 없다.HAVING 절은 집계함수를 가지고 조건비교를 할 때 사용한다.HAVING 절은 GROUP BY 절과 함께 사용된다.결론 : WHERE 절의 경우 한 개의 ROW 별로 조건을 주는 문법이고 HAVING의 경우 GROUP BY 절에서 묶여진 그룹에서의 조건이다. SELECT name, count(name)from animal_inswhere name is not nullgroup by namehaving count(name) >= 2order by name Limithttps://school.programmers.co.kr/learn/courses/30/lessons/59405 프로그래머스코드 중심의 개발자 채용. 스택 기..
N의 약수 찾기 알고리즘 N의 약수를 찾을 때, 1 ~ N까지 모두 탐색하며 나머지가 0일 때를 찾게 되면 시간 초과를 피하기 어렵다.이때 사용할 수 있는 방법은 두 가지가 있는데, 소인수 분해를 이용해 약수의 개수를 계산하거나 범위를 N의 제곱근으로 좁히는 것이다. 소인수 분해를 이용하는 방법N을 소인수분해하여 각 소수의 지수를 구한 후, 각 지수에 1을 더한 값들을 곱한 후 1을 더하면 약수의 개수를 찾을 수 있다.N이 24일 때, 이를 소인수 분해하면 2^3 * 3^1 이며 각 지수에 1을 더한 뒤 곱하면 (3 + 1) * (1 + 1) = 8로 약수의 개수를 구할 수 있다. N의 제곱근으로 범위를 좁혀 탐색N이 24일 때 소수는 1, 2, 3, 4, 6, 8, 12, 24이고 24의 제곱근은 약 4.9이다. 1에서 4까지..
Java 문법 종합반 4~5주 예외처리, 제네릭오류(Error) vs 예외(Exception)오류 (Error)회복 불가능시스템 레벨에서, 주로 환경적인 이유로 발생어떤 에러로 프로그램이 종료되었는지 확인하고 대응예외(Exception)회복 가능그 예외가 발생할 수 있다는 것을 인지하고, 대응함코드 레벨에서 할 수 있는 문제 상황에 대한 대응은 여기에 속함예외의 종류컴파일 에러(예외).java 파일을 .class 파일로 컴파일할 때 발생하는 에러대부분 자바 프로그래밍 언어의 규칙을 지키지 않았기 때문에 발생런타임 에러(예외)주로 다루게 될 에러(예외)문법적인 오류는 아니라 컴파일은 잘 되었지만 “프로그램”이 실행 도중 맞닥뜨리게 되는 예외예외 발생과 try-catch, finally 문예외 정의하기class OurBadExceptio..
Java 문법 종합반 1~3주 1. JVM, 변수바이트 코드 : 내가 작성한 코드가 운영체제가 읽을 수 있는 코드(바이트 코드)로 Java 컴파일러가 변환한 코드compiler : .java → .class로 변환해줌인터프리터 : .class 코드 해석기. 운영체제가 읽은 바이트 코드를 기기가 실행할 수 있는 기계어로 번역JIT 컴파일러(Just In Time) : 빠른 .class 코드 해석기. 인터프리터의 효율을 높여주는 서포터 해석기메모리 영역 : 운영체제로부터 JVM이 할당받은 메모리 영역클래스 로더 : .class 바이트 코드를 메모리 영역에 담는 운반기. JVM으로 class(바이트 코드)를 불러와 메모리에 저장함가비지 컬렉터래퍼 클래스 변수// 박싱 VS 언박싱// 박싱// Integer 래퍼 클래스 num 에 21 의 ..
SQL 정리 2 subquery여러 번의 연산을 한 번의 sql 문으로 수행해야할 때조건문에 연산 결과를 사용해야 할 때조건에 Query 결과를 사용하고 싶을 때ex1) 음식점의 평균 단가별 segmentation 을 진행하고, 그룹에 따라 수수료 연산하기.(수수료 구간 - ~5000원 미만 0.05%~20000원 미만 1%~30000원 미만 2%30000원 초과 3%)select restaurant_name, price_per_plate*ratio_of_add "수수료"from (select restaurant_name, case when price_per_plate ex2) 음식점의 지역과 평균 배달시간으로 segmentation 하기select restaurant_name, sido..