전체 글 134

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (14~18번 문제풀이)

14. 조건에 맞는 회원수 구하기 SELECT COUNT(*) FROM USER_INFO WHERE JOINED LIKE '2021%' AND AGE BETWEEN 20 AND 29 USER_INFO 테이블에서 조건에 맞는 정보의 개수를 구하도록 했다. 조건은 JOINED 칼럼에서 데이터가 2021로 시작하고 AGE가 20과 29 사이에 있는 값만 가져오도록 조건을 걸었다. 15. 가장 비싼 상품 구하기 SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT PRODUCT 테이블에서 MAX를 사용하여 PRICE값중 가장 큰 값을 구해오도록 했다. 별칭은 MAX_PRICE로 지정했다. 16. 12세 이하인 여자 환자 목록 출력하기 SELECT PT_NAME, PT_NO, GEND_C..

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (1~13번 문제풀이)

1. 모든 레코드 조회하기 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID ANIMAL_INS 테이블의 모든 정보를 조회하도록 했고 ORDER BY를 사용해서 ANIMAL_ID 순으로 정렬하였다. 2. 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC ANIMAL_INS 테이블에서 NAME, DATETIME을 조회했고 정렬은 ANIMAL_ID를 기준으로 내림차순으로 정렬하였다. 3. 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ANIMAL_INS 테이블에서 ANIMAL_ID, NAME을 조회했고 조건은 ..

[Java] 자바 계산기 알고리즘

개인 프로젝트를 진행 중 계산기 기능을 추가하려고 로직을 구현 중이었는데 생각보다 생각할게 많았다. 나는 중위 표기법으로 표현된 수식을 후위 표기법으로 변환시켜 계산하였다. 중위표기법이란 흔히 아는 연산자가 피연산자들의 가운데 위치하는 형태이다. 예 ) 3 + 5 * 4 진행 중인 웹프로젝트의 계산기 기능이다. 간략하게 기능을 설명하자면 C버튼은 Clear를 뜻하고 누르면 입력했던 숫자들이 초기화된다. 계산할 식을 입력 후 "=" 버튼을 누르면 계산된 값을 반환받는 방식으로 제작하였다. 계산기 하단에는 계산했던 기록이 남아있도록 했다. 코드 설명 public double calculator(CalculatorRequestDto calculatorRequestDto) { String calContents ..

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 1 (57~59번 문제풀이) / Level 0 (224/224)

57. 숫자 짝꿍 class Solution { public String solution(String X, String Y) { StringBuilder answer = new StringBuilder(); int[] x = new int[10]; int[] y = new int[10]; for(String str : X.split("")){ x[Integer.parseInt(str)]++; } for(String str : Y.split("")){ y[Integer.parseInt(str)]++; } for(int i=9; i>=0; i--){ if(x[i] > 0 && y[i] > 0){ int num = Math.min(x[i], y[i]); for(int j=0; j

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 1 (53~56번 문제풀이) / Level 0 (224/224)

53. 최소 직사각형 class Solution { public int solution(int[][] sizes) { int answer = 0; int maxW = 0; int maxH = 0; for(int i=0; i maxW){ maxW = width; } if(height > maxH){ maxH = height; } } answer = maxW * maxH; return answer; } } 최종적으로 들어갈 가로, 세로의 변수를 maxW, maxH로 잡았다. 그 뒤 for문을 사용해서 sizes의 길이만큼 반복시켜 준 뒤 width에는 각 배열의 원소중 큰 값, height에는 각 배열의 원소중 작은 값을 넣어줬다. 그 뒤 if문을 사용해서 크기를 비교해 줬다. width이 maxW보다 크다..

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 1 (35~39번 문제풀이) / Level 0 (224/224)

35. 다트 게임 class Solution { public int solution(String dartResult) { int answer = 0; int[] scores = new int[3]; int n = 0, idx = 0; String numStr = ""; for(int i=0; i= '0' && ch = 0) scores[idx-2] *= 2; } else{ scores[idx-1] *= -1; } } } answer = scores[0] + scores[1] + scores[2]; return answer; } } 점수를 저장할 배열 scores를 만들어줬다. 그리고 정수형 변수 n을 만들어두고 인덱스값을 담당할 idx변수를 각각 0으로 초기화해 줬다. 또한 문자열 변수 numStr을 만..

프로필사진

남건욱's 공부기록

반응형