본문 바로가기

전체 글102

[Lv.0 - Java] 120897. 약수 구하기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/120897 풀이 풀이1. cnt 변수로 answer 배열(int[]를 사용한 정적 배열)의 길이를 먼저 구한 후 answer 배열에 n의 약수를 구해 넣기 풀이2. List 배열인 동적 배열의 사용으로 배열 길이를 정하지 않고 바로 배열에 추가하기 단, solution 함수에서의 타입이 List 여야 한다. 풀이3. solution 함수에서의 타입을 int[]로 사용할때 동적배열인 List를 사용해 풀 수 있는 방법 ArrayList배열로 n의 약수를 구해 배열에 넣은 후, 반환할때 answer.stream().mapToInt(x -> x).toArray(); 를 사용하여 ArrayList를 i.. 2023. 12. 15.
[Lv.0 - Java] 120834. 외계행성의 나이 문제 https://school.programmers.co.kr/learn/courses/30/lessons/120834 풀이 StringBuilder를 사용해 문자열을 효율적으로 처리하고자 했다. 숫자타입인 age를 하나하나 나누려고 Integer.toString()을 사용해서 String 타입으로 변환했다. for문을 이용하여 ageStr을 문자별로 분리하여 변수 num에 넣어서 반복한다. 이때 num에서 '0' ( ASCⅡ 코드 48 )을 빼준 값을 digit으로 선언하였는데, 이유는 0부터 9까지의 경우 ASCⅡ 코드가 연속적이기 때문에 num의 ASCⅡ 코드에서 '0' ( ASCⅡ 코드는 48 )을 빼면 해당 값이 실제 숫자값으로 정규화할 수 있기 때문이다. 이렇게 구한 숫자타입의 digit 변.. 2023. 12. 13.
[DB] 데이터 정규화 제 1정규화 : "한 칸엔 하나의 데이터만" => 제 1 정규형 테이블 제 2정규화 : "현재 테이블의 주제와 관련없는 컬럼을 다른 테이블로 빼는 작업" 위의 테이블에서 "가격 컬럼"은 현재 테이블 주제와 별 상관이 없다. 따라서, 프로그램 테이블이라고 따로 빼서 테이블을 만들 수 있다. (아래 확인) 수강등록현황 테이블, 프로그램 테이블 => 제 2정규형을 만족하는 테이블 장점) 프로그램의 댄스 가격을 수정한다고 한다면, 수강등록 현황 테이블에서 수강회원들의 댄스 프로그램의 가격을 모두 수정하는 번거로움 없이, 프로그램 테이블에서 댄스 프로그램의 가격만 변경해주면 된다. => 수정의 간편화 단점) 회원 한명이 얼마를 내야하는지 궁금할때, 수강등록 현황 테이블만 봐서는 모른다. 프로그램 테이블의 정보를 .. 2023. 12. 12.
[Lv.0 - Java] 120815. 피자 나눠 먹기 (2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/120815 풀이 먼저 피자 개수*6을 n으로 나눴을때 나머지가 0이 되면 남는 조각이 없는 피자개수를 구할 수 있을 것이라 생각했다. 그리고 이때 피자개수인 answer 값이 나올때까지 answer의 값을 1씩 더해가며 올리려는 목적으로 while문을 사용해 반복했다. 1) 피자개수는 1부터 시작이기 때문에 answer의 값을 1로 초기화하여 선언했다. 2) while문을 이용해 (answer*6)%n != 0 일때까지 반복하며 answer 값을 1씩 더해주었다. 3) (answer*6)%n 값이 0이 되면 while의 조건값이 false가 되므로 반복문이 종료도고 answer값이 반환된다. 코.. 2023. 12. 12.