본문 바로가기

프로그래머스22

[Java,JS] 자연수 뒤집어 배열로 만들기_이게 어려울일인가 점수 : 실수로 팝업을 닫아버림 테스트케이스 최대 소요시간 : 17.73ms 인데 어차피 내가 푼것도 아닌데 의미가 있나 ^^ 문제 요약 : int 12345 를 [5,4,3,2,1]로 바꾸면 된다 제출답안 class Solution { public int[] solution(long n) { String ns = n+""; char[] ncArr = ns.toCharArray(); int[] answer = new int[ns.length()]; for(int i =ns.length()-1 ; i >= 0 ; i--){ answer[ns.length()-1-i] = (int)ncArr[i]-48; } return answer; } } 예전에 스치듯이 배웠던 기억이 있는데, char은 각 숫자(?)가 배.. 2024. 4. 1.
[MySQL] 잔챙이 잡은 문제 요약 1. LENGTH의 값이 NULL 인 FISH_COUNT 테이블의 값 개수를 구함 SELECT COUNT(ID) AS FISH_COUNT FROM FISH_INFO WHERE LENGTH IS NULL; 2024. 3. 24.
[MySQL] 잡은 물고기 중 가장 큰 물고기의 길이 구하기 문제 요약 1. FISH_INFO 테이블에서 LENGTH 컬럼 최대값을 표시하되 2. 값cm 형태로 표출 SELECT CONCAT(LENGTH,'cm') AS MAX_LENGTH FROM FISH_INFO ORDER BY LENGTH DESC LIMIT 1; MsSQL에서 top이던게 여긴 LIMIT고... LENGTH+'cm' 왜 안되는거져 2024. 3. 24.
[MySQL] 가장 큰 물고기 문제 요약 1. FISH_INFO 테이블에서 컬럼 ID와 LENGTH 를 추출하되 2. LENGTH 컬럼 상위값 10개만 추출 3. 정렬기준 1. LENGTH 기준 내림차순 2. ID 기준 오름차순 SELECT ID, LENGTH FROM FISH_INFO ORDER BY LENGTH DESC, ID LIMIT 10; 매일 사용하던 MsSQL에서는 LIMIT 가 아닌 SELECT TOP(10) ID, LENGTH....식으로 사용했어서 생각지도 못하게 챗GPT를 사용하게되었다. 2024. 3. 24.
[MySQL] 잡은 물고기의 평균 길이 구하기 문제 요약 1. FISH_INFO 테이블에서 LENGTH 컬럼의 평균값을 소수점 셋째 자리에서 반올림하여 구하되 2. 값이 NULL인 경우 10으로 간주 제출답안 SELECT ROUND(AVG(IFNULL(LENGTH, 10)),2) AS AVERAGE_LENGTH FROM FISH_INFO; 2024. 3. 24.
[MySQL] 한 해에 잡은 물고기 수 구하기 문제 1. FISH_COUNT 테이블에서 날짜 형식의 TIME 컬럼의 년도가 2021인 데이터의 갯수를 구함 2. 행의 고유값은 ID 컬럼 SELECT COUNT(ID) AS FISH_COUNT -- ID 컬럼을 기준으로 COUNT, 컬럼명 FISH_COUNT FROM FISH_INFO WHERE YEAR(TIME) = '2021' 너무 단순해서 약간 당황.. 2024. 3. 23.
[JS] 숫자 문자열과 영단어 점수 : 1107 (+5) 테스트케이스 최대 소요시간 : 0.06ms 문제 요약 : 그냥 해당하는 문자열을 다 숫자로 바꿔주면 됨! 제출답안 let stringToNo = [['zero',0], ['one',1],['two',2],['three',3],['four',4], ['five',5],['six',6],['seven',7],['eight',8],['nine',9]] ; function solution(s) { stringToNo.forEach((ar)=> s = s.replaceAll(ar[0],ar[1]) ) ; return s*1; } 문제해설 //아래 배열이 함수 안쪽으로 들어가면 시간이 쬐ㅣㅣㅣ끔 더 소요됩니다. 이유는.. let stringToNo = [['zero',0], ['one',.. 2024. 3. 18.
[JS] 덧칠하기 - 프로그래머스 점수 : 1102 (+10) 테스트케이스 최대 소요시간 : 2.78ms 제출답안 function solution(n, m, section) { var answer = 0; let filled = section[0]-1 ; section.forEach((empty)=>{ if(empty > filled){ answer++ ; filled = empty + m -1; } }) return answer; } 문제해설 function solution(n, m, section) { var answer = 0; // 페인트를 몇번 칠했는지 // filled = 어디까지 칠했나 = 왼쪽에서부터 칠해진채로 연결된 섹션no. 없으면 0으로 시작 let filled = section[0]-1 ; section.forEac.. 2024. 3. 17.
[JS] 가장 많이 받은 선물_충격적인 얕은 복사 점수 : 1091 (+7) 최대 소요시간 : 38.23ms 이게 진짜 코테문제였으면 풀다가 멘탈 터졌을 난이도 ^_ㅠ 왜 1단계인걸까 1. 시간 초과를 우려해서 너무 로직을 오래 고민한 점 2. 막상 계획을 다 짜놓고도 배열 순환이 중첩되면 마음이 불안해서 다시 고민한 점 이 두가지 때문에 거의 나흘을 풀었던 문제다. 막상 채점하기 누르니 금방 성공해버려서 놀람. 일단 주석으로 계획을 짜고 문제를 풀어버린 뒤 시간 절약을 고민해보자ㅜㅠ function solution(friends, gifts) { let max = 0; // 리턴할 최대값, 코테 상 answer let frhash = {}; // friend 배열을 hash화 friends.forEach((friend)=> frhash[friend] .. 2024. 3. 12.
728x90