| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- oracle
- 프론트엔드
- 코드 테스트
- 자바
- SQL
- node.js
- 미니정리
- 오라클
- 코드테스트
- web
- 정리
- spring
- Next.js
- jpa
- 스프링
- 데이터베이스
- java
- 프로그래머스
- JavaScript
- MySQL
- jsp
- 자바스크립트
- 백엔드
- 쿼리
- 알고리즘
- BACK-END
- 스프링부트
- 프런트엔드
- 디자인 패턴
- 서버
- Today
- Total
목록분류 전체보기 (357)
참치코더의 꿈 메모장
- 매개변수 n으로 전달받은 수의 그 아래에 있는 숫자들의 합으로 n을 구할 수 있는 최대 경우의 수를 구하는 문제이다. - 2중 for문을 사용하여 n을 1부터 n까지 돌린다음 안쪽 for문으로 초기값을 i값으로 주면 for문이 끝날때마다 바깥쪽 for문의 값으로 초기화가 되기때문에 하나씩 숫자를 뺄 수 있다.- 이렇게 sum에 j값을 더해서 sum이 만약 입력한 n값과 같다면 최종 입력 값 answer에 1을 더해주고 break를 걸어준다.- 만약 더한 값이 n보다 크다면 break를 걸어 안쪽 for문을 종료시켜준다. - 이렇게 반복을 한다면 1개씩 숫자를 확인하면서 모든 범위의 수를 반복하면서 검사를 할 수 있다.- 추후에 2중 for문이 종료가 되면 최종적으로 answer에 더해서 나올 수 있..
- 문자열 S를 입력으로 받아 첫글자만 대문자이고 나머지는 소문자인 JadenCase를 반환하는 문제이다. - StringBuilder를 사용하는것이 속도가 빠르므로 문자열을 사용하는대신 StringBuilder를 answer로 선언해주었다.- 문자열을 split을 사용해서 배열에 한글자씩 넣어주는데, -1을 인자로 줘서 공백을 무시하지 않고 넣어주는 형태로 작성하였다.(반환값에 공백이 들어가고, 공백이 연속으로 들어갈수 있다는 Test Case 존재) - for문으로 해당 배열을 돌려주면서 문자 1개씩 c에 들어올때 마다 해당 값이 공백인지 공백이 아닌지 검사를 한 후에 해당값의 첫번째 값을 대문자로 만들고 나머지는 소문자로 만들어서 해당 값을 answer에 더해주었다. - 공백은 trim()을 ..
- 문자열 s로 받은 ()중에서 한쌍의 괄호()를 온전히 짝지어진 것들만 가지고 있으면 true 아니면 false를 출력하는 문제이다. - Stack Collection을 사용하여 for문에 s문자열을 char형 배열로 변환시킨 뒤 반복시킴으로써 해당 문자들를 받았다.- 한문자씩 검사하면서 만약에 열림괄호가 먼저 시작되었으면 비교를 위해 stack에 push를 해준다음에 닫힘괄호가 정상적으로 다음에 온다면 그 이전에 있던 열림괄호를 pop시킴으로써 괄호가 제대로 달려있는지 확인을 해주는 구문을 작성하였다. - 하지만 닫힘괄호가 열림괄호 보다 먼저 들어왔을때 stack을 확인해 스택이 비어있다면 false를 반환하여 잘못된 문장임을 알리고, 모든 for문을 돌아서 나왔을때 stack에 아..
- 공백으로 띄어쓴 문자열 s의 숫자들의 최댓값 또는 최솟값을 구하는 문제이다.- 조금 의도가 보이는 문제인데 공백으로 나눴다는게 split을 사용하라는 문제 같다. ㅎㅎ;; - 문자열을 s.splist(" ");을 사용하면 parts 배열에 문자열이 공백을 사이로 하나씩 들어가게 된다.- 이 문자열을 for in 문을 사용하여 list Collection에 집어넣어 주고- 구하기 편하게 Collection 프레임워크 라이브러리인 max 와 min을 사용하면 간단하게 max값과 min값을 구할 수 있다. - 이 값들을 min , 공백, max 순으로 출력을 문제에서 요구했으므로 answer에 값들을 형식에 맞춰 출력을하면 알맞은 결과값을 얻을 수 있다. https://school.programmer..
- 문자열 s로 받은 영문자에서 최초로 들어온 알파벳은 -1 그리고 같은 영문자가 들어왔을땐 그전 같은 영문자에서의 배열 길이를 구하는 문제이다. - 숫자를 저장하기 위한 list 배열을 생성하고, 위치의 길이를 구하기 위한 map을 선언을 먼저 해주었다.- 그 후 for문을 통해 s의 문자열의 길이만큼 돌려주면서 해당 문자열의 한 단어씩 current에 저장을 시켜주었다. - 만약에 map에 문자열과 동일한 키값이 존재하지 않다면 -1을 list에 저장을 해주었고 값이 있다면 현재 i가 현재 계산하고 있는 알파벳의 위치이기 때문에 i 값에서 map에 저장되어 있는 길이의 값을 뺀다면 알파벳 사이의 거리값을 구할 수 있다. - if-else문 종료후 해당하는 위치의 값을 갖는 id가 curren..
- Strings 배열에 있는 문자열의 지정한 n자릿수로 오름차순 정렬하여 출력하는 문제이다. - 여기서 알아야 할건 사용자가 특정한 패턴으로 정렬을 하려고 할시 Comparator를 상속받거나 익명클래스를 선언하여 compare 메서드를 내가 원하는 패턴으로 재정의 해줘야 한다는 것이다.- 익명 클래스 사용하는 이유는 1번만 문제에서 사용하기 때문인데, 혹시 지속적으로 해당 정렬이 필요하다면 정식으로 클래스를 선언하는게 좋다.- 새로운 클래스를 선언해서 Comparator을 상속받고, n 자릿수를 기준으로 정렬을 해야하므로 n 값을 생성자로 넘겨주었다.- 재정의하는 compare에 매개변수는 그대로 2개 String o1, String o2를 선언해준 뒤 if문을 사용하여 해당 문자열의 n의 ..
- 매개변수 answers로 주어지는 모의고사 정답을 학생 3명이서 특정한 패턴으로 찍는다고 가정했을때 가장 많이 맞춘 학생을 가려내는 문제이다. (맞춘 갯수가 같다면 동시 출력) - 학생 배열을 1,2,3으로 선언하고 찍어내는 패턴을 미리 입력을 해두었다.- 다음 for문을 돌리면서 시험지의 문제 만큼 마킹을 하는데, 학생의 배열 패턴의 끝만큼 문제를 나눈 나머지를 입력하면 계속 반복해서 문제를 마킹할수 있기때문에 시험의 문제 수만큼 계속해서 찍을수 있다. - 이렇게 문제를 다 풀게 되면, Math.max 함수를 이용해서 최고 높은 학생의 점수를 얻는다. (Math.max는 2개 값 비교밖에 할수 없으므로 중복해서 메서드를 사용한다.) - 이제 Set Collection을 사용하여 만약 학생..
- 매개변수 로 받은 n은 총인원수, 배열 lost는 체육복을 잃어버린 학생 번호, reserve는 체육복을 빌려줄수 있는 학생이라고 했을때 체육복을 빌려서 총 수업을 받을 수 있는 학생수는 몇명인지 계산하는 문제이다. - List로 계산하기 위해 각각 배열들을 List 컬렉션으로 바꿔 집어넣어 준 다음 여벌 체육복을 가져온 학생이 도난당했을때 for in문을 사용하여 임시 list 컬랙션에다가 해당하는 값을 집어넣어 주었다. - 그 후 해당하는 imsi 컬랙션에 해당하는 학생은 체육복을 빌려줄 수 도 내가 수업을 듣지 못하는 것도 아니니 양 List에서 해당하는 학생들을 제거해 주었다. - 다음 정렬을 하지 않았을때 순서가 들쭉날쭉 해져서 이어지는 체육복을 빌려주는 쿼리에서 오류가 날 가능성..