📑 1. 문제설명 💡 2. 풀이과정`Arrays.sort()`로 배열 정렬 하기 (오름차순 정렬됨)맨 마지막 두 요소 곱하기 이 때 Arrays.sort()는 새로운 배열을 반환하는게 아니고 원본 배열을 정렬한다. 그래서 변수에 담을 수 없다.맨 마지막 두 요소는 `numbers[numbers.length-1]` 과 `numbers[numbers.length-2]`인데 이렇게 하면 길기 때문에`int n = numbers.length`를 따로 빼 주면 코드가 간결해진다. 처음에 틀린 이유는 최댓값이 음수*음수일 때를 고려하지 않아서 테스트케이스 1을 통과하지 못했다.import java.util.*;class Solution { public int solution(int[] numbers) { ..

My Tech Blog (문제)
오늘의 명언
📑 1. 문제설명💡 2. 풀이과정결과값 담을 ArrayList answer 선언 * 받은 String[] quiz를 공백 기준으로 분리해서 String[] splited에 담기 - `quiz[i].split(" ")`String 타입의 배열 splited에 들어 있는 피연산자(x,y)와 결과값은 문자열을 숫자로 형변환 - `Integer.parseInt`연산자가 +인 경우와 -인 경우 나눠서 연산 수행하고 결과를 calculated 변수에 저장caculated 값과 result 값을 비교해서 같으면 "O", 틀리면 "X"를 ArrayList에 추가ArrayList를 Array로 변환해서 return다 풀고 나서 생각 해 보니 1,6은 필요 없음반환할 배열의 길이가 정해져 있으므로 그냥 quiz의 길..

⚠️ 문제엑셀에서 셀에 다음과 같은 수식을 걸었다.=H22-F22이 수식의 결과는 숫자이다.하지만 셀을 가운데 정렬하려고 해도 항상 오른쪽 정렬로 표시된다.수동으로 가운데 정렬을 눌러도 그대로 오른쪽 정렬이 유지된다.🧐 원인엑셀에서는 셀의 표시 형식에 따라 기본 정렬 방식이 다르다.엑셀 상단 리본메뉴에 보면 셀 표시 형식이 `회계`로 잡혀 있기 때문이다. 숫자 입력 후 표시형식 에서 ,(콜론)을 누르거나 형식을 회계로 선택하면엑셀은 회계의 경우 항상 오른쪽 정렬을 유지한다. ⚡ 해결법해결법은 간단하다.해당 셀 영역을 블록지정하고 셀 형식을 회계가 아닌 "1,000단위 구분 기호를 사용하는 숫자" 형태로 바꾸면 된다.셀 우클릭 > [셀 서식] > [표시 형식] 탭 > 범주에서 [숫자] 선택 > 1000단..
두 문제를 같이 포스팅한 이유는int(정수형) → char(문자형) 변환char(문자형) → int(정수형)로 변환의 차이를 비교하기 위해서이다.Java에서 문자 ↔ 숫자 간 변환에서 + '0' 또는 - '0'을 사용한다.이렇게 하는 이유는 문자의 ASCII 코드 값을 이용하는 방식이기 때문이다. 📑 1. int → char 변환프로그래머스 문제https://school.programmers.co.kr/learn/courses/30/lessons/120904num 안에 숫자 k가 있는지 확인하고, 있으면 자리 수(index + 1), 없으면 -1을 반환하는 solution 함수를 만드는 문제이다.String.valueOf(num)으로 숫자를 문자열로 변환k + '0'은 숫자를 문자로 바꾸는 방법..
📑 1. 문제설명 💡 2. 풀이과정매개변수로 받은 numlist[]를 가변형 list로 변환순환하며 n%list(i) 값이 0이 아니면 리스트에서 제거list를 다시 배열로 변환해서 반환제출한 코드(컴파일 오류)import java.util.*;class Solution { public int[] solution(int n, int[] numlist) { ArrayList list = Arrays.asList(numlist); for(int i = 0; i 1. Arrays.asList(numlist) 오류numlist는 int[]이므로, Arrays.asList(numlist)는 List가 된다.→ 원하는 건 List인데, primitive type인 int는 boxi..
📑 1. 문제설명 입출력 예 설명입출력 예 #129183에서 1은 3번째에 있습니다.입출력 예 #2232443에서 4는 4번째에 처음 등장합니다.입출력 예 #3 123456에 7은 없으므로 -1을 return 합니다.💡 2. 풀이과정목표는 정수 num에서 숫자 k와 같은 자릿수를 찾아 1-based 인덱스를 반환하는 것이다. class Solution { public int solution(int num, int k) { String numToString = Integer.toString(num); char[] arr = numToString.toCharArray(); char kToChar = (char) (k + '0'); int idx = ..
📑 1. 문제설명 💡 2. 풀이과정Set을 사용하던지 이중 for문 돌려서 풀면 된다. Set은 중복을 허용하지 않고, 검색 속도가 빠르기 때문에 비교 대상인 s1을 Set으로 변환하면 s2의 각 원소가 포함되어 있는지 빠르게 확인할 수 있다. 그리고 이중 for문 으로 풀 때는 중복 카운트 피하려면 `break;` 를 써야 한다. 👨💻 3. 정답코드Set으로 푼 코드import java.util.*;class Solution { public int solution(String[] s1, String[] s2) { Set set = new HashSet(Arrays.asList(s1)); int cnt = 0; for (String str : s2) {..
📑 1. 문제설명❌ 2. 실패한 시도없음 ⭐ 3. 정답코드-- 코드를 입력하세요SELECT i.name, i.datetimeFROM animal_ins i LEFT OUTER JOIN animal_outs o ON i.animal_id = o.animal_idWHERE o.animal_id is nullORDER BY i.datetime ascLIMIT 3;animal_ins 테이블에는 있는데 animal_outs에는 없는 동물을 찾으면 된다.그렇다면 기준테이블은 animal_ins이고, 이 테이블을 왼쪽에 놓고 LEFT OUTER JOIN을 수행한다.JOIN된 테이블에서 o.animal_id가 null인 데이터를 조회하면 animal_ins에는 있고 animal_outs에는 없는 동물들 목록이 나온다..