[백준 자바] 2578번 : 빙고 import java.io.IOException; import java.util.Scanner; import java.util.*; // 빙고 public class ex2578 { static int[][] bingo; static int count; // 빙고 개수 세는 변수 public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); bingo = new int[5][5]; count = 0; // 빙고판 입력 for(int i = 0; i < 5; i++) { for(int j = 0; j < 5; j++) { bingo[i][j] = sc.nextInt(); } } // 사회자가 부르..
썸네일 [자료구조 활용] 최대 길이 연속 수열 [문제] [정답 코드] // 최대 길이 연속 수열 import java.util.*; class Solution6 { public int solution(int[] nums){ int answer = 0; // set은 중복 원소를 제거 해주므로 배열 값 set에 담기 HashSet set = new HashSet(); for(int x : nums) set.add(x); // set 탐색하면서 for(int x : set) { // 연속 수열의 시작되는 값인지 확인. 중간 값은 볼 필요가 없기 때문 if(set.contains(x - 1)) continue; int cnt = 0; // 연속적으로 1 증가한 숫자가 있는 지 보고 있으면 cnt 증가 while(set.contains(x)){ cnt++;..
썸네일 [해싱 & 시간파싱] 한 번만 사용한 최초 문자 [문제] [정답 코드] import java.util.HashMap; // 한 번 사용한 최초 문자 class Solution5 { public int solution(String s){ HashMap sH = new HashMap(); // 각 문자의 빈도수를 카운팅 for(char x : s.toCharArray()) { // getOrDefault -> x라는 키가 존재 하면 x의 value값 반환, 존재하지 않으면 0 // --> 그 값에 1 증가시키고 x에 세팅 sH.put(x, sH.getOrDefault(x, 0) + 1); } // 각 문자의 빈도수가 카운팅 된 상태에서 빈도수가 1인 문자 중 젤 앞에 있는 것 리턴 for(int i = 0; i < s.length(); i++) { if(..
썸네일 [시뮬레이션 & 구현] 좌석번호 [문제] [내가 푼 것] import java.util.*; class Solution4 { public int[] solution(int c, int r, int k){ int[] answer = new int[2]; int[][] seat = {}; // 배열 초기화 for(int i = 0; i < c; i++) { for(int j = 0; j < r; j++) { seat[i][j] = 0; } } // 이동방향 정하는 배열 int dx[] = {-1, 0, 1, 0}; int dy[] = {0, 1, 0, -1}; int d = 1; int x = 0, y = 0; int count = 0; while(count < k) { count++; int nx = 0, ny = 0; nx = x + ..
썸네일 [시뮬레이션 & 구현] 잃어버린 강아지 [문제] [처음 푼 것] import java.util.*; class Solution3 { public int solution(int[][] board){ int answer = 0; int count = 0; // 이동방향을 정하기 위한 배열 (12시, 3시, 6시, 9시 방향) int[] dx = {-1, 0, 1, 0}; int[] dy = {0, 1, 0, -1}; // 배열 인덱스 int d1 = 0; int d2 = 0; // 현수와 강아지 초기 위치 변수 int x1 = 0, y1 = 0, x2 = 0, y2 = 0; // 현수와 강아지 위치 초기화 for(int[] line : board) { for(int k : line) { if(line[k] == 2) { x1 = k; } if(k..
썸네일 [시뮬레이션 & 구현] 청소 [문제] [처음 생각한 것] import java.util.*; class Solution { public int[] solution(int[][] board, int k){ int[] answer = new int[2]; for(int i = 0 ; i < k ; i++) { for(int[] line : board) { for(int k : line) { if(answer[i] == 1 || answer[i] == board.length) { } } } } return answer; } public static void main(String[] args){ Solution T = new Solution(); int[][] arr1 = {{0, 0, 0, 0, 0}, {0, 1, 1, 0, 0}, {0..
Spring Boot 시작하기 스프링 부트란 ? - 단순히 실행되며, 프로덕션 제품 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있음 - Spring 구성이 거의 필요하지 않음 - java -jar로 실행하는 Java 어플리케이션을 만들 수 있음 REST Client 설치 크롬 웹스토어 -> rest api client 검색 -> Talend API Tester 다운 Hello World API 만들어 보기 package com.example.hello.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframew..
썸네일 [시뮬레이션 & 구현] 사다리 타기 [문제] 코딩테스트를 처음 공부하는 거라 감이 잘 오지 않았다. [내가 작성해 본 코드] package ch01; import java.util.*; class Solution { public char[] solution(int n, int[][] ladder){ char[] answer = new char[n]; char num = 65; for(int i = 0; i < n; i++) { answer[i] = num; num++; } for(int i = 0; i < ladder.length; i++) { for(int j = 0; j < ladder[i].length; j++) { } } return answer; } public static void main(String[] args){ Solut..
썸네일 웹 개발 개론 (REST API, URI 설계 패턴, HTTP Protocol) Web이란 ? World Wide Web(WWW, W3)은 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간 Web의 용도 - Web Site : google, nave, daum, facebook 등 HTML로 구성된 여러 사이트들 - API(Application Programming Interface) * Web Service : Kakao Open API, Google Open API, Naver Open API 등 - User Interface : Chrome, Safari, Explorer, Smart Watch, IP TV 등 Web의 기본 3가지 요소 - URI (Uniform Resource Identifier) 리소스 식별자 모든 정보에 접근할 수 있는..
썸네일 Singleton Pattern Singleton Pattern 어떠한 클래스가 유일하게 1개만 존재할 때 사용 서로 자원을 공유할 때 주로 사용 Ex) 실물 세계 : 프린터 프로그래밍 : TCP Socket 통신에서 서버와 연결된 connect 객체 SocketClient.java package com.company.design.singleton; public class SocketClient { private static SocketClient socketClient = null; // default 생성자 private으로 막기 // private SocketClient() { public SocketClient() { } // getInstance public static SocketClient getInstance() { //..
디자인 패턴이란? 디자인 패턴 자주 사용하는 설계 패턴을 정형화 해서 이를 유형별로 가장 최적의 방법으로 개발을 할 수 있도록 정해둔 설계 Gof 디자인 패턴 객체지향 개념에 따른 설계 중 재사용할 경우 유용한 설계를 디자인 패턴으로 정리 디자인 패턴의 장점 - 개발자 간의 원활한 소통 - 소프트웨어 구조 파악 용이 - 재사용을 통한 개발 시간 단축 - 설꼐 변경 요청에 대한 유연한 대처 디자인 패턴의 단점 - 객체지향 설계 / 구현 - 초기 투자 비용 부담 생성 패턴 객체를 생성하는 것과 관련된 패턴 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화 코드의 유연성 높여줌 구조 패턴 프로그램 내의 자료구조나 인터페이스 구조 등 프로그램 구조를 설계하는 데 활용될 수 있는 패턴 큰 규모의 시스템에서 많은 클래스들이 ..
SPRING 입문(객체 지향) 학원 수료가 거의 끝나간당 어찌저찌 프로젝트는 완성을 했지만 하면서도 내가 이걸 확실하게 아는건지에 대한 의심이 들었다 뭐든지 기초가 중요한 법이니까 스프링 공부도 다시 차근차근 해보장 그리고 일단 시작하라고 하셨으니 기록하는 것도 이제 다시 꾸준히 해봐야지 - JDK 11 설치 (이미 깔려 있으므로 설치는 생략) : google에 jdk 11 검색 -> https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html oracle 로그인 -> 다운로드 다 default로 설치 ( 각자 필요에 따라 설정 변경 ) cmd -> java -version 했을 때 버전 뜨면 제대로 설치 된 것 - Intelli..