반응형

분류 전체보기 130

[프로그래머스] 같은 숫자는 싫어 (Queue, Stack) - Java(자바)

문제설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 크기 : 1,000,000 이하의 자연수 입출력 예 [1,1,3,3,0,1,1] [1, 3, 0, 1] [4, 4, 4, 3, 3] [4, 3] [ 내가 푼 방법 ] import java.util.*; public class Solution {..

프로그래머스 2022.10.05

Stack에 대하여

Java에서 Stack은 java.util 패키지에서 Stack클래스로 제공한다. 스택은 FILO, LIFO 구조로, 먼저 들어간 데이터가 가장 마지막에 꺼내진다. - 요소 추가하는 push(value) 메서드 제공 - 맨 위의 요소 꺼내고 스택에서 삭제하는 pop() 메서드 제공 - 맨 위의 요소 값 보여주는 peek() 메서드 제공 사용방법 Stack stack = new Stack(); stack.push(1); stack.push(3); stack.push(5); System.out.println(stack.pop());//5반환 예시 - 웹 브라우저에서 뒤로 가기 : 가장 나중에 열린 페이지부터 보여줌 - 실행취소 (undo, ctrl + z) : 가장 나중에 실행된 것부터 취소함 - 후위 표기..

Java 2022.10.05

Queue 에 대하여

Java에서 Queue는 java.util 패키지에서 Queue 클래스로 제공한다. 큐는 FIFO, LILO 구조로, 먼저 들어간 데이터가 먼저 꺼내진다. - Enqueue 하는 메서드 add(value), offer(value) 제공 - Dequeue 하는 메서드 remove(), poll() 제공 - 맨 앞에 있는 요소를 꺼내는 메서드 element(), peek() 제공 사용방법 Queue queue = new LinkenList(); queue.add(1); queue.offer(2); //현재 queue에는 1,2가 담겨있음 queue.remove(); //1꺼내짐 queue.poll(); //2꺼내짐 queue.element();//큐가 비어서 예외 발생 queue.peek();//큐가 비어서..

Java 2022.10.05

@PathVariable 사용법

스프링에서 클라이언트가 요청하는 URL에 가변 변수를 지정하기 위해 사용되는 어노테이션이다. 사용방법 @GetMappint("/books/{id}") public Book getBookById(@PathVariable(value="id") long id){ return bookService.getById(id); } @GetMapping의 url의 가변변수 {id}와 컨트롤러 메서드의 파라미터 id가 동일하면 @PathVariable의 value 옵션은 생략 가능!! ※ Http 통한 request / response 되는 데이터는 모두 문자열(String) 타입이지만 매개변수의 타입을 위의 예제 처럼 long 타입으로 선언해주면 String → long 타입으로 자동으로 변환됨!!

스프링 2022.10.05

[프로그래머스] 3진법 뒤집기 - Java(자바)

문제설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 45 7 125 229 [ 내가 푼 방법 ] class Solution { public int solution(int n) { int answer = 0; //1. 3진법으로 변환 & 역전 String threeN = ""; while (n > 0){ threeN += n % 3; n = n / 3; } //2. 10진법으로 변환 char[] chars = threeN.toCharArray(); int cnt = chars.length-1; for (in..

프로그래머스 2022.10.03

[프로그래머스] 이상한 문자 만들기 - Java(자바)

문제설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 "try hello world" "TrY HeLlO WoRlD" [ 내가 푼 방법 ] import java.util.ArrayList; class Solution { public String solution(String s) { String answer = ""; String..

프로그래머스 2022.08.24

ORM / JPA / Spring Data JPA 란?

1. ORM이란? - 어플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑하는 것을 의미한다. ( Java 객체 - 관계형DB의 테이블 매핑 ) - 객체지향 프로그래밍과 관계형 데이터베이스의 차이로 발생하는 제약사항을 해결해주는 역할 - 장점: SQL 쿼리가 아닌 직관적인 코드로 테이터를 조작하고, 재사용 & 유지보수가 편리, DBMS에 대한 종속성이 줄어듬 - 단점: 복잡성이 커질 경우 ORM 만으로 구현하기 어려움(직접 쿼리를 구현하는 것이 X → 복잡한 설계가 어려움), 대형 쿼리는 튜닝이 필요할 수 있음 2. JPA란? - ORM 관련된 인터페이스가 모여있는 라이브러리 (* Java에서 표준 ORM으로 채택) (ORM은 큰 개념이고, JPA는 더 구체화 시킨 스펙) - Hibernat..

스프링 2022.08.23

리눅스 (파일/폴더 찾기, 파일 내 단어 찾기, 타임스탬프)

파일/폴더 찾기 - locate 파일 이름/경로 찾아내는 명령어 mac os의 경우 기본 설치되어 있지만, window os에서는 별도로 설치 필요함 특징: 내장메모리를 이용하여 빠르고, 인덱스 생성하여 파일을 찾음 아래 명령어 입력하여 설치 sudo apt-get install locate - find find . //현재 디렉토리 기준으로 하위 모든 파일, 디렉토리 찾기 //파일 갯수 검색 find . | wc -l //현재 디렉토리 기준으로 하위에 몇개가 있는지 파일, 폴더의 갯수 보여주는 옵션 //파일 타입과 이름으로 검색 find . -type f -name "test*"//현재 디렉토리 기준으로 type이 file이고 name이 test로 시작하는 파일 찾기 find . -type d -nam..

리눅스 2022.08.20
반응형