본문 바로가기

분류 전체보기108

[프로그래머스(programmers)] (Lv2) JadenCase 문자열 만들기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - JadenCas 문자열 만들기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12951 문제 풀이 처음 모든 문자들을 소문자로 변환한다. 첫 글자이거나, " "(공백) 있는 다음 글자를 대문자로 변환한다. 처음 풀었을 땐, char배열에 넣어서 첫글자이거나 공백다음은 대문자로, 아닌것들은 소문자로 바꾸는 식으로 풀었었다. 이렇게 했더니 12점을 받았다. 그러고 나서 다른 사람들의 코드를 보는데 애초에 첫 줄에서 모든 문자열을 소문자로 변환한 후, 해당 조건시에만 대문자로 바꾸는 방법도 있어서 그렇게 다시 풀어보았다. 그리고 다시 푸는 김에 이번엔 char 배열에 넣는것이 아니라 .spl.. 2021. 6. 10.
[프로그래머스(programmers)] (Lv4) 보호소에서 중성화한 동물 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 보호소에서 중성화한 동물 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/59045 코딩테스트 연습 - 보호소에서 중성화한 동물 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 풀이 JOIN 을 사용하여 두 테이블의 조건이 충족된 중복된 것을 구한다. 여러가지 프로젝트를 만들면서 나도 모르게 SQL문에 익숙해져 있던.. 2021. 6. 5.
[프로그래머스(programmers)] (2020 카카오 인턴십) 수식 최대화 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 수식 최대화 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67257?language=java 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 문제 풀이 숫자, 연산자들을 배열에 각각 나누어 넣는다. 재귀함수를 활용하여 순열로 연산자 우선순위를 구한다. Math.abs() 를 사용하여 절대값 구한다. 이번 문제는 내가 여태까지 푼 문제중 가장 오래 걸렸다. 총 2일이 걸렸는데 첫날에는 코드.. 2021. 6. 4.
[프로그래머스(programmers)] (월간 코드 챌린지 시즌1) 이진 변환 반복하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 이진 변환 반복하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 문제 풀이 0의 개수 = 문자열 s의 길이 - 0을 지운후 s의 길이 이 문제는 많은 걸 생각할 것도 없이 쉬운문제였다. 그냥 주어진대로 차례대로 해나가면 풀 수 있는 문제였다. 점수는 4점 받았다. public static int[] solution(String s) { int[] answer = new int[2]; while(!s.equals("1")) { answer[1] += s.length(); s = s.replaceAll("0.. 2021. 6. 4.
[프로그래머스(programmers)] (2021 Dev-Matching) 행렬 테두리 회전하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 행렬 테두리 회전하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 문제 링크 한 칸씩 이동하는 것이므로 dx, dy 배열을 만들었다. 이번 문제는 거의 2시간 정도 걸렸다. 이렇게 까지 오래 걸린지 몰랐는데 시간을 보니 훌쩍 지나있었다. 문제를 어떤식으로 풀지 생각하는건 금방 했는데 구현하는 것에서 오래걸렸다. 오.. 2021. 6. 3.
[프로그래머스(programmers)] (월간 코드 챌린지 시즌2) 괄호 회전하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 괄호 회전하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 문제 풀이 Map을 사용하여 key, value로 비교한다. 올바른 괄호 문자열 비교를 위해 Stack을 사용한다. 이번 풀이는 15점이나 줬다. 여태까지 내가 푼 문제들 중에 가장 배점이 높아서 뿌듯했다. 풀고나서 다른사람들의 풀이를 봤는데 내 코드가 조금 더 나은점이 하나 있었다. 그것은 바로 map 을 사용하여서 괄호의 짝을 미리 지정해둔것이다. (다른사람은 모두 일일히 가져와 비교했다) 어차피 나올 괄호는 () [] {} 세가지로 정해져있기 때.. 2021. 6. 2.
[프로그래머스(programmers)] (2017 팁스타운) 예상 대진표 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 예상 대진표 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12985# 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 문제 풀이 다음라운드 자신의 대진번호는 (현재라운드 + 1) / 2 이다. 처음 풀어보았을 땐, b를 무조건 큰 수로 만든 후 b-a 의 차이로 구했다.이렇게 할 경우 테스트 케이스 7번, 33번 에서 실패였다. 바로 a = 4, b = 5일 경우에.. 2021. 6. 1.
큐(Queue) 란 무엇인가? ▏큐(Queue) 큐는 스택과 반대로 FIFO(First-In-Last-Out) 즉, 선입선출 구조로 생각하면 된다. 다시 말하면, 한 쪽 끝에서 삽입이 이루어지고 반대쪽에서 삭제가 이루어지는 구조이다. 따라서 주로 데이터가 입력된 시간순대로 처리해야 할 경우에 사용된다. 큐에 값 추가 하는것을 Enqueue 라 하고, 값 삭제하는 것을 Dequeue 라 한다. ▏Queue연산 add() / offer() : 큐에 값을 추가한다. remove() : 큐에 가장 앞쪽에 있는 항목을 제거한다. poll() : 큐에 첫번째 값을 반환한 후 제거한다. (비어있다면 null) clear() : 큐에 모든 요소를 제거한다. isEmpty() : 큐가 비어있으면 True 아니면 False ▏참고자료 Queue를 활용.. 2021. 6. 1.
스택(Stack)이란 무엇인가? ▏목적 ◦ Stack 이해하기 ▏시작하는 말 스택 · 큐에 대한 개념을 알지 못하고 알고리즘 문제를 풀었던 적이 있었다. 도저히 해결법을 몰랐었는데 지인이 큐로 풀면 된다고 했었던 기억이 있다. 그 때 큐를 처음 알게 되었다. 하지만 정확한 개념을 이해하지 못한채로 넘어갔었다. 올 해 초, 정보처리산업기사 자격증을 취득하였고 그 과정에서 스택 · 큐 자료구조를 제대로 공부하게 되었다. 그래서 오늘 그 개념에 대해 설명해보려고 한다. 스택 · 큐 포스팅 모두 내가 직접 그림판에서 그린 것이라 그림들이 조금 엉성할 수 있다. ▏스택(Stack) 스택은 LIFO(Last-In-First-Out) 즉, 후입선출 구조로 생각하면 된다. 쉽게 말해서, 차곡차곡 쌓아올리는 개념으로 보면 된다. 삽입 삭제 모두 Top.. 2021. 5. 31.
반응형