일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 코딩테스트 고득점 Kit 완전탐색
- 컴퓨터 네트워크
- vanillaJS
- 백준
- 자바
- 데이터모델링과마이닝
- JavaScript
- useState
- react
- react firebase
- 자바스크립트
- 디자인 패턴
- codesandbox
- React JS
- websocket
- 프로그래머스
- 프로그래머스 완전탐색
- NextJS
- 코틀린
- 자바 공부
- 프로그래머스 자바
- 장고
- Java
- useEffect
- 코딩테스트 고득점 Kit
- 리액트 훅
- react hook
- 리액트
- design pattern
- 프로그래밍 언어론
- Today
- Total
목록프로그래머스 (31)
기록하는 개발자
https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr * replace 함수는 문자열 내 특정 substring을 다른 문자열로 바꿔준다. [ 예시 ] String s = "aaabbb"; s.replace("aaa", "zzz"); → s = "zzzbbb" class Solution { public int solution(String s) { String[] words= {"zero" , "one" ..
https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 1 2 3 4 5 6 7 8 9 * 0 # 1. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작 → '*' 키패드를 10, '0' 키패드를 11, ''#'키패드를 12로 간주한다. → Left와 Right의 값을 최초..
class Solution { static int answer; /* index : 몇 번째 인덱스인지, sum : index까지 총 더한 값 */ public void dfs(int[] numbers,int target,int index,int sum){ /* numbers 배열을 끝까지 탐색한 경우 */ if(index == numbers.length){ if(sum == target) // 총합이 target과 같다면 answer++; // 정답 개수 1 증가 return; } /*배열 탐색 -1) 다음 인덱스(index+1)에서 양수인 numbers[index]를 그대로 더하기 -2) 다음 인덱스(index+1)에서 음수인 numbers[index]를 더하기 */ else { dfs(numbers..
import java.util.*; class Solution { public int solution(int[] nums) { int answer = 0; List list = new ArrayList(); list.add(nums[0]); //배열의 첫 번째 요소를 list에 삽입 for(int i=1; i list 길이=폰켓몬 종류 if(!list.contains(nums[i])) //list가 배열의 i번째 요소를 갖고 있지 않은 경우에만 list.add(nums[i]); //list에 i번째 요소를 추가한다. // list.size(): 폰켓몬 종류, nums.length/2 : 선택 가능한 최대 폰켓몬 수 /*아래 삼항연산자 내용 - 폰켓몬 종류 보다 N/2가 더 크면 폰켓몬 종류를 반환한다. ..
import java.util.*; class Solution { public int[] solution(int[] answers) { int[] temp = {0,0,0}; int[] one={1,2,3,4,5}; int[] two={2,1,2,3,2,4,2,5}; int[] three={3,3,1,1,2,2,4,4,5,5}; int max=0, count=3; for(int i=0; i=temp[1])? temp[0] : temp[1]; //최댓값 찾기 max=(max>=temp[2])? max : temp[2]; if (max == 0) //최댓값이 0인 경우 빈 배열 return return new int[] {}; List result = new ArrayList(); for (int i = 0..
문제 설명 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7인 네 번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 첫 번째 탑이 보낸 레이저 신호는 어떤 탑에서도 수신할 수 없습니다. 송신 탑..
문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 두번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21..
문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 입출력 예 s return a234 false 1234 true 1 2 3 4 5 6 7 8 9 10 11 12 13 class Solution { public boolean solution(String s) { boolean answer = true; if(s.length()==4||s.length()==6) { for(int i=0; i