전체 글

1. 데이터베이스 개요 데이터베이스의 개념 방대한 데이터를 효율적으로 관리하기 위해 컴퓨터에 통합,저장한 것 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합 데이터베이스 관리 시스템(DBMS)이라는 프로그램을 이용하여 관리 데이터베이스의 저장된 데이터의 특징 공유 데이터: 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터 통합 데이터: 최소의 중복과 통제 가능한 중복만 허용하는 데이터 저장 데이터: 컴퓨터가 접근할 수 있는 매체에 저장된 데이터 운영 데이터: 조직의 주요 기능을 수행하기 위해 지속적으로 필요한 데이터 데이터베이스의 특징 실시간 접근성: 사용자의 데이터 요구에 실시간으로 응답 계속 변화: 데이터의 계속적인 삽입,삭제,수정을 통해 ..
문제 풀이 import java.util.Scanner; class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(), M = sc.nextInt(); int[][] map = new int[N][M]; for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) map[i][j] = sc.nextInt(); } int T = sc.nextInt(); while(T != 0) { int x1 = sc.nextInt(), y1 = sc.nextInt(), x2 = sc.nextInt(), y2 = sc.nextInt(), sum =..
문제 풀이 문제에 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 문제이기 때문에 단순히 최소 공배수로 구하면 오답이 된다. 예를 들어 18라고 가정하면 2,3,6,9 가 되고 그 외의 입력은 들어올 수가 없다. 이 부분만 알고있다면 구현은 쉽게 할 수 있다. import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int X = Integer.parseInt(br.readLine()); ..
1주차 미션 정리 - 이 글은 프로그래머스 - 쉽게 구현해보는 자바 애플리케이션 스터디를 참여하며 쓴 글입니다. - 1주차의 미션은 문자열 계산기(우선순위 적용)와 숫자 야구 게임을 구현하는 내용이었습니다. 문자열 계산기를 통해 배운점 1. 매직넘버를 의미 있는 단어로 public void hasPriority() { for (int i = 0; i < formula.size(); i++) { if (formula.get(i).equals("*") || formula.get(i).equals("/")) { public static final String MULTIPLY_OPERATOR = "*"; public static final String DIVIDE_OPERATOR = "/"; public voi..
문제 풀이 스트림을 사용해서 LongStream에 rangeClosed메서드는 첫 번째 파라미터부터 두 번째 파라미터의 수까지 생성할 수 있다. Math.min, Math.max메서드를 이용해서 작은 값과 큰 값을 넣어준 뒤 sum메서드로 더 해 반환하면 된다. import java.util.stream.LongStream; class Solution { public long solution(int a, int b) { return LongStream.rangeClosed(Math.min(a,b),Math.max(a,b)).sum(); } }
문제 풀이 각 자릿수의 합을 구해서 x가 자릿수들의 합으로 나눠진다면 true를 리턴하면 되는 간단한 문제다. 스트림을 이용해서 풀어보았는데 x를 문자열로 바꿔준뒤 각 자리를 나눠줬고 그 뒤에 mapToInt메서드를 이용해 다시 int형으로 바꾸면서 더해주었다. 그리고 x를 더해준 값으로 나눠주고 나머지가 0이라면 true를 반환하게 하였다. import java.util.Arrays; class Solution { public boolean solution(int x) { int value = Arrays.stream(String.valueOf(x).split("")).mapToInt(Integer::parseInt).sum(); return x%value==0; } }
문제 풀이 입력받은 n을 toString메서드를 이용해 String으로 바꿔주고 for문으로 문자열의 뒷자리는 앞으로 넣어주는 반복을 해준다. class Solution { public int[] solution(long n) { String str = Long.toString(n); int[] answer = new int[str.length()]; for (int i = 0,j = str.length()-1; i < str.length(); i++,j--) { answer[j] = Integer.parseInt(String.valueOf(str.charAt(i))); } return answer; } }
문제 풀이 배열을 인수로 받아서 평균을 구하는 문제이다. 이 문제도 스트림으로 풀어보려 하는데 배열을 스트림으로 만들기 위해 Arrays.stream을 이용해서 스트림을 만들 수 있다. 스트림으로 만든 뒤 IntStream에 average메서드를 이용해 평균을 구한다. 그리고 배열이 비어 있는 경우를 대비해 orElse(0)을 넣어줘 비어있다면 0을 리턴하게 하였다. import java.util.Arrays; class Solution { public Double solution(int[] arr) { return Arrays.stream(arr).average().orElse(0); } }
E@st
학습 기록