728x90
반응형
SMALL

2024/02 41

프로그래머스) 옹알이(2) Lv1

조카는 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 조카가 발음할 수 있는 단어의 개수를 return 하시오.... 먼저 연속해서 발음하는 ayaaya|yeye|woowoo|mama 를 모두 replaceAll 로 제외시켰다 그 다음 2중 for 문을 사용하고 그 안에 while 문을 사용하여 문자가 맞을 경우 "" 로 변경하고 answer++ 을 했는데 시간초과가 되어버린다! class Solution { public int solution(String[] babbling) { String tell[] = {"aya", "ye", "woo", "ma"}; int answer = 0..

코딩 테스트 2024.02.14

프로그래머스) 햄버거 만들기 Lv1

햄버거를 순서대로 뽑아내는 문제입니다! 빵 : 1, 야채 : 2, 고기 : 3 위 조건으로 1231 숫자를 최대로 뽑아낼 수 있는 방법을 구하는 코딩테스트 문제! 처음에는 무작위로 주어지는 int 배열을 String 하나의 문자로 만든 뒤 indexOf 를 통해 "1231" 문자가 없을 때까지("1231" 이 포함이면 -1 을 뽑음) while 문을 돌렸다 -> while(조건문) () 안의 조건이 거짓이 될 때까지 반복하는 반복문이다.(기본 문법인데 가끔 헷갈려서 설명추가;;) 테스트케이스 실행시에는 너무 잘되는데, 문제를 제출할 때 몇몇 캐이스가 시간초과가 떠버린다... import java.util.*; class Solution { public int solution(int[] ingredient..

코딩 테스트 2024.02.14

index 가 뭔지, 동작원리에 대해 설명해보세요(실제 기술면접 질문)

이전 기술면접을 진행했던 당시 index 의 동작원리에 대해서 질문을 받았는데 대략적적으로 index가 뭔지는 알고 있었지만 상세하게 답변을 못했던 기억있어 확실하게 알기위해! 문서를 작성해봅시다. index란 무엇인가?! 인덱스(index)는 데이터베이스에서 검색 속도를 향상시키는데 중요한 역할을 하는 자료구조입니다! 데이터베이스에서는 대량의 데이터를 효율적으로 처리해야하는데, 인덱스는 이를 가능하게끔 합니다. 또한, 데이터베이스 인덱스는 특정 열 또는 컬럼에 대한 정렬된 구조로 데이터를 저장하며, 이를 통해 데이터베이스 시스템은 빠른 검색을 가능하게 하고 특히 WHERE 절에서 자주 사용되는 조건에 따라 데이터의 위치를 빠르게 찾아줍니다. INDEX 의 종류에는 이진탐색트리(Binary Search ..

개발지식 2024.02.13

도커(Docker)란! 컨테이너(Container)란! 쿠버네티스(Kubernetes)란! 무엇인가!

도커(Docker)란!컨테이너 기반의 오픈소스 가상화 플랫폼입니다!컨테이너란 개발 환경의 표준화를 가능하게하는, 격리된 공간에서 프로세스가 동작하는 기술을 의미합니다.이 컨테이너를 사용하면 개발 환경의 표준화가 가능하므로, 개발자가 작업한 환경을 그대로 배포할 수 있게 됩니다! 도커는 '내 PC에서는 잘 돌아가는데, 서버에서는 왜 안돌아가지?!' 라는 문제를 해결하기 위해 등장하였으며, 개발환경을 코드로 관리하고, 이를 통해 동일한 환경을 재생성할 수 있습니다. 컨테이너(Container)란!컨테이너는 애플리케이션과 그 실행 환경을 패키징하는 기술로 격리된 공간에서 어플리케이션이 실행되도록 하는 기술입니다. 각 컨테이너는 독립적인 실행 환경을 가지며, 서로의 시스템 리소스나 파일 시스템을 ..

개발지식 2024.02.12

프로그래머스) 달리기 경주 Lv1

맨 처음 순서를 정해준 뒤 호출하는 이름이 앞 순번에 달리는 선수와 순번이 바뀌는 문제! hashMap 으로 문제를 풀어보았는데 계속 3번째에서 순번이 바뀌지 않는 현상이 있었다.... 확인해보니 key value 값으로 저장한 부분에서 value 값에 따라 순번을 체크했었는데, 자리값으로 순번을 매기고 있어서 내가 원하는 대로 순번이 바뀌지 않았다... (오답 소스) import java.util.*; class Solution { public String[] solution(String[] players, String[] callings) { String[] answer = new String[players.length]; Map map = new HashMap(); // map 에 데이터 현재 플레..

코딩 테스트 2024.02.12

코딩테스트 준비

코딩테스트 공부방법 String 클래스 특징 ▶ += 또는 + 연산을 지양해야한다. 아래와 같은 연산을 한다면 한 문자열에 1234 가 합쳐지는 문자열이 되는 것이 아닌 + 연산을 할때마다 새로운 객체를 만들어서 연산을 수행하기 때문에 아래의 코드의 경우 1, 12, 123, 1234 가 각각 String Constant Pool 에 새로운 리터럴로 저장되며 아무도 참조하지 않은 리터럴은 GC(Garbage Collection)가 회수해가는 과정을 거치게 되고 이러한 과정은 성능 저하의 원인이 된다. String str = "1"; str += "2"; str += "3"; str += "4"; 최대공약수 계산 // 최대공약수 계산 public int gcd(int a, int b) { while (b ..

코딩 테스트 2024.02.11

프로그래머스) [PCCE 기출문제] 10번 / 데이터 분석 Lv1

Lv1 이지만 아닌 것 같은 문제.... 코드번호, 제조일, 최대수량, 현재 수량으로 구성되어있는 데이터 중 필요한 데이터를 뽑아서 정렬하는 문제입니다. 각각 데이터를 순서에 맞게끔 데이터를 뽑고, 조건에 맞을 경우 아래 int 배열 리스트에 데이터를 쌓았다. List list = new ArrayList(); 그 뒤에 list 배열을 2차원 배열로 풀어서 answer에 값을 넣은 뒤 실행했는데 테스트 코드 성공!! 그런데 소스코드가 너무 더럽다 람다식을 코테문제를 풀 때 처음 적용시켜봤는데 final 를 사용해야된다고 해서 변수를 또 바꿔주고 순차적으로 단계를 나눠서 처리를 해나가는데 리스트 int 배열을 선언해서 사용하는것도 맘에 안든다.... 끼워맞추기로 정답은 맞췄지만 조금 찝찝한 상황 다른사람의..

코딩 테스트 2024.02.11

프로그래머스) [PCCP 기출문제] 1번 / 붕대 감기 Lv1

이틀동안 틈틈히 고민하면서 푼 문제.... 어떠한 게임에 붕대 감기라는 기술을 통해 health 를 회복하는 게임 시전시간, 초당 회복량, 추가 회복량의 변수값을 통해 몬스터에게 공격을 받은 만큼의 피을 계속 회복하는 게임이다 각각의 변수값이 주어지고 공격과 공격 타이밍을 변수로 받으면 그 값에 따라 마지막 공격에 남은 피를 확인해야하는데 우선 저는 HashMap을 통해 공격받는 시점을 모두 체크하였습니다. 그 후 시간대를 for 문으로 돌려서 아래 3가지 조건으로 문제를 해결했습니다! 1. 공격받는 시점에 hp 감소 2. 피가 가득 차있으면 다음 시간으로 패스 3. 공격입은 후 피를 회복할 때 처음에 문제를 해결하고 제출을 했을 때 테스트 14번에 막혔었다... 문제가 되는 부분을 확인해보니 회복 카운..

코딩 테스트 2024.02.09

프로그래머스) 올바른 괄호 Lv2

이번에도 래벨 2 도전! 문자열 s 에 랜덤의 (, ) 괄호가 주어지고 괄호를 바르게 짝지었을 때 true, 아닐 경우 false 를 리턴하는 문제이다. 처음 문제를 풀 때 () 코드가 있을 경우 "" 으로 변경을 하는 코드를 작성했다! 돌려보니 문제는 모두 맞는데 효율성의 문제가 발생했다... class Solution { boolean solution(String s) { boolean answer = true; int cur = 0; while(s.length() >= 0){ int fur = s.length(); s = s.replaceAll("\\(\\)",""); if(s.length() == 0){ break; } if(cur == fur){ break; } cur = fur; } retur..

코딩 테스트 2024.02.08

프로그래머스) 이진 변환 반복하기 Lv2

블로그를 만든 후 첫번째 코테 2래벨 문제!! 몇개 풀어보긴 했는데 쉬운건 래벨 1짜리보다 풀만한 것 같다 ㅎㅎ! 이 문제는 0과 1로 구성된 문자열에서 0을 제외하고 그 길이를 2진법으로 변환하는 작업을 반복해서 1이 될 때 까지의 횟수와 제외된 0의 갯수를 카운트하는 문제이다 나는 위 과정을 구현을 한뒤에 while 문으로 자릿수가 1이 될 때까지 반복해서 문제를 해결했다~ 정답 import java.util.*; class Solution { public int[] solution(String s) { int[] answer = new int[2]; int countZero = 0; int ck = 0; while(s.length() > 1){ for(int i=0; i

코딩 테스트 2024.02.08
728x90
반응형
LIST