➜ 코딩 테스트/프로그래머스

프로그래머스 - 자동차 종류 별 옵션이 포함된 자동차 수 구하기 (MySQL)

SELECT CAR_TYPE, COUNT(CAR_TYPE) AS CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%가죽시트%' GROUP BY CAR_TYPE ORDER BY CAR_TYPE;

➜ 코딩 테스트/프로그래머스

프로그래머스 - 짝지어 제거하기 (JAVA)

짝을 맞춰 제거하는 문제는 보통 stack을 활용하는 문제들이 많은것 같아서 바로 stack을 활용해서 풀었다. 모든 문자를 처리하는 과정에서 스택에 넣으려는 글자와 스택의 맨 위쪽 글자가 같으면 pop을 해주는 식으로 정리했고 스택이 남아있으면 0 아니면 1을 출력하는 조건문을 달고 풀 수 있었다! import java.util.*; class Solution { public int solution(String s) { Stack stack = new Stack(); for(int i = 0; i < s.length(); i++){ if(!stack.isEmpty() && stack.peek() == s.charAt(i)){ stack.pop(); } else { stack.push(s.charAt(i..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 피보나치 수 (JAVA)

유명한 피보나치문제다 재귀문제로 풀면 시간초과가 나서 dp로 풀었다 class Solution { public static int solution(int n) { if(n == 1 || n == 2){ return 1; } int[] fibo = new int[n+1]; fibo[1] = 1; fibo[2] = 1; for(int i = 3; i

➜ 코딩 테스트/프로그래머스

프로그래머스 - 다음 큰 숫자 (JAVA)

toBinaryString을 사용하면 int값을 이진수로 쉽게 변환할 수 있어 어렯지 않게 풀 수 있다. 하지만 bitCount라는 메소드를 쓰면 더 간결하게 표현할 수 있었다.. 내가푼것 class Solution { public int solution(int n) { int answer = 0; String binaryN = Integer.toBinaryString(n); int count = 0; for(int i = 0; i < binaryN.length(); i++) { if(binaryN.charAt(i) == '1'){ count++; } } while(true){ n++; int count2 = 0; String check = Integer.toBinaryString(n); for(int ..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 숫자의 표현 (JAVA)

이번 문제는 그냥 이중 for 문으로 풀면 효율성에서 에러가 나고 포인터 방식을 사용해서 풀어야지 되는 문제이다. start 값과 end 값의 처리를 잘 하면 풀 수 있는 문제였다! class Solution { public static int solution(int n) { int answer = 0; int start = 1; int end = 1; int sum = 1; while (start

➜ 코딩 테스트/프로그래머스

프로그래머스 - 이진 변환 반복하기 (JAVA)

package Programmers; import java.util.*; public class ProgrammingBasic { public static void main(String[] args) { String s = "110010101001"; System.out.println(Arrays.toString(solution(s))); } public static int[] solution(String s) { int transformCount = 0; int zeroCount = 0; while(!s.equals("1")) { int oneCount = 0; for(char c : s.toCharArray()) { if (c == '1') { oneCount++; } else { zeroCount+..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 배열 만들기 2 (Go)

package main import ( "fmt" "strconv" ) func main() { l := 5 r := 555 fmt.Print(solution(l, r)) } func check(num int) bool { str := strconv.Itoa(num) for _, r := range str { if r != '5' && r != '0' { return false } } return true } func solution(l int, r int) []int { var result []int for i := l / 5 * 5; i

➜ 코딩 테스트/프로그래머스

프로그래머스 - 수열과 구간 쿼리 2 (Go)

package main import ( "fmt" ) func main() { arr := []int{0, 1, 2, 4, 3} queries := [][]int{{0, 4, 2}, {0, 3, 2}, {0, 2, 2}} fmt.Print(solution(arr, queries)) } func solution(arr []int, queries [][]int) []int { var result = []int{} for _, query := range queries { k := query[2] min := 1000001 for _, n := range arr[query[0] : query[1]+1] { if n > k && n < min { min = n } } if min == 1000001 { resul..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 수열과 구간 쿼리 3 (Go)

package main import ( "fmt" ) func main() { arr := []int{0, 1, 2, 3, 4} queries := [][]int{{0, 3}, {1, 2}, {1, 4}} fmt.Print(solution(arr, queries)) } func solution(arr []int, queries [][]int) []int { for i := 0; i < len(queries); i++ { start := queries[i][0] end := queries[i][1] temp := arr[start] arr[start] = arr[end] arr[end] = temp } return arr }

➜ 코딩 테스트/프로그래머스

프로그래머스 - 수 조작하기 2 (Go)

package main import ( "fmt" ) func main() { numLog := []int{0, 1, 0, 10, 0, 1, 0, 10, 0, -1, -2, -1} fmt.Print(solution(numLog)) } func solution(numLog []int) string { result := "" for i := 0; i < len(numLog)-1; i++ { c := numLog[i+1] - numLog[i] switch c { case 1: result += "w" case -1: result += "s" case 10: result += "d" case -10: result += "a" } } return result }

강맹석
'➜ 코딩 테스트' 카테고리의 글 목록 (2 Page)