본문 바로가기

전체 글70

[c++][프로그래머스] 괄호 변환 프로그래머스 괄호 변환 [2020 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제 풀이 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" .. 2022. 2. 16.
[c++][프로그래머스] 문자열 압축 프로그래머스 문자열 압축 [2020 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/60057# 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 문제 풀이 이 문제는 문자열 처리 문제입니다. 1부터 str.length()/2까지 문자열을 잘라 압축해 보면서 가장 짧게 압축이 됐을 때 문자열의 길이를 리턴합니다. 압축 방법은 코드를 참고해주세요! 코드 #include #include using namespace std.. 2022. 2. 15.
[기술 면접] Java 키워드 및 프로그래밍 개념 정리 Java 키워드 ⟬ final ⟭ final은 유저에게 제한을 두기 위해 class, method, variable(member variable, local variable)에 사용할 수 있는 키워드입니다. 대상에 따라 사용되는 의미가 조금씩 달라집니다. 대상 의미 Class 확장될 수 없는 클래스. 다른 클래스가 final 클래스를 상속할 수 없다. Method 재정의 할 수 없는 메소드. final 메소드는 오버라이딩 할 수 없다. Variable 값을 변경할 수 없는 변수. 일반적으로 상수의 목적으로 사용할 때 final 키워드를 사용한다. ⟬ static ⟭ static은 특정 멤버(method, variable)가 어떤 타입의 인스턴스에 속하지 않고 그 타입 자체에 속함을 의미합니다. 즉, 클래.. 2022. 2. 14.
[c++][프로그래머스] 매출 하락 최소화 프로그래머스 매출 하락 최소화 [2021 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/72416 코딩테스트 연습 - 매출 하락 최소화 CEO를 포함하여 모든 직원은 팀장 또는 팀원이라는 직위를 가지고 있으며 그림에서는 팀장과 팀원의 관계를 화살표로 표시하고 있습니다. 화살표가 시작되는 쪽의 직원은 팀장, 화살표를 받는 programmers.co.kr 문제 풀이 문제 해결을 위해 다음의 시나리오를 DFS로 구현하였습니다. 각 사람별로 자신이 워크숍에 참석할 경우와 참석하지 않을 경우의 손해 비용을 계산합니다. 자신이 leaf node인 경우 내가 참석하지 않을 경우 -> 0원 내가 참석할 경우 -> 나의 하루평균 매.. 2022. 2. 14.
[c++][프로그래머스] 카드 짝 맞추기 프로그래머스 카드 짝 맞추기 [2021 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/72415 코딩테스트 연습 - 카드 짝 맞추기 [[1,0,0,3],[2,0,0,0],[0,0,0,2],[3,0,1,0]] 1 0 14 [[3,0,0,2],[0,0,1,0],[0,1,0,0],[2,0,0,3]] 0 1 16 programmers.co.kr 문제 풀이 이 문제는 모든 카드 쌍을 어떤 순서로 제거할 것인지, 한 카드 쌍에서 두 개의 카드를 어떤 순서로 선택할 것인지를 완전 탐색하여 해결하였습니다. 모든 카드를 어떤 순서로 제거할 것인지 완전 탐색하기 위해 next_permutation을 사용했습니다. [1, 2, 3]의 .. 2022. 2. 12.
[c++][프로그래머스] 광고 삽입 프로그래머스 광고 삽입 [2021 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 문제 풀이 이 문제는 Sliding Window 알고리즘을 사용해 해결했습니다. 공익광고 재생시간 크기의 윈도우를 동영상 재생시간의 처음부터 끝까지 슬라이딩하면서 윈도우 내 값의 총 합이 제일 큰 경우(시청자들의 .. 2022. 2. 11.