목록문자열 (19)
어흥
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 주의할 점 - 스택을 이용해서 해결한다 - "((("와 같은 문자열을 처리할 수 있는 방법을 찾는다 2. 구현 - 스택을 사용하며, 현재 문자가 '('가라면 스택에 추가한다 - 현재 문자가 ')'라면 2가지 경우로 나눈다 - 첫째, 스택이 비어있다면 false를 반환한다 - 둘째, 스택이 비어있지 않다면 스택의 원소 1개를 pop 한다 - 문자열 전체를 조회했다면 이제 스택이 비..
문제 링크: https://leetcode.com/problems/string-to-integer-atoi/description/?envType=list&envId=rdlarbki String to Integer (atoi) - LeetCode Can you solve this real interview question? String to Integer (atoi) - Implement the myAtoi(string s) function, which converts a string to a 32-bit signed integer (similar to C/C++'s atoi function). The algorithm for myAtoi(string s) is as follows: 1. Read leet..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 1. 주의할 점 - 문제에 적힌 대로만 구현한다 - 빈 문자열 처리를 알맞게 한다 2. 구현 - DFS() 함수에서 다음과 같은 작업을 순차적으로 한다 - 넘겨 받은 파라미터가 빈 문자열이면 그대로 반환한다 - 넘겨 받은 파라미터를 균형잡힌 괄호 문자열 U와 나머지 부분인 V로 나눈다 - isComplete 함수를 통해 U가 올바른 괄호 문자열인지 확..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/77886 코딩테스트 연습 - 110 옮기기 0과 1로 이루어진 어떤 문자열 x에 대해서, 당신은 다음과 같은 행동을 통해 x를 최대한 사전 순으로 앞에 오도록 만들고자 합니다. x에 있는 "110"을 뽑아서, 임의의 위치에 다시 삽입합니다. 예를 programmers.co.kr 1. 주의할 점 - 브루트포스로 풀지 않는다 - 선형시간(O(N))내로 푼다 2. 구현 - 입력 받은 문자열에 대해 110의 개수를 확인한다 - 110을 제외한 문자열을 Deque에 담도록 한다 - 110의 개수가 1개 이상일 때, 문자열 어디에 삽입하면 사전 순서로 가장 빠를지 예상한다 Deque에는 다음과 같은 형태만 들어..
문제 링크: https://leetcode.com/problems/zigzag-conversion/ Zigzag Conversion - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 주의할 점 - 큰 2차원 배열을 사용하지 않는다(Ex. 1시 방향으로 올라갈때 우측 1칸, 위로 1칸) → 메모리 절약 - numRows의 값에 따라 패턴 길이를 구한다 2. 구현 - String[] 배열에 문자들을 추가하는 방식으로 구현한다 - 몇 개를 기준으로 각 문자열이 ..
문제 링크: https://www.acmicpc.net/problem/3107 3107번: IPv6 첫째 줄에 올바른 IPv6 주소가 주어진다. 이 주소는 최대 39글자이다. 또한, 주소는 숫자 0-9, 알파벳 소문자 a-f, 콜론 :으로만 이루어져 있다. www.acmicpc.net 1. 주의할 점 - : 를 기준으로 어떻게 나눌것인가 - ::를 어떻게 처리할 것인가 2. 구현 - C++의 경우에는 sstream을 통해, Java의 경우에는 split을 통해 세미콜론을 처리했다. 다만, Java의 경우 끝에 ::가 있을 때 처리를 못해서 추가 코딩이 필요하다 - 세미콜론을 기준으로 문자열을 잘랐을 때, 해당 문자의 길이에 따라 조건을 처리하고 V 벡터 or Li 리스트에 추가한다 - 길이가 4면 그대로..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 1. 주의할 점 - 문제의 조건을 잘 이해하고 그대로 구현한다 2. 구현 - dq 덱을에 new_id를 1차 필터링 한 결과를 담는다(특정 문자 + 연속된 . 처리 + 대문자→소문자) : 1,2,3번 조건 처리 - Cnt 변수를 통해 덱의 크기를 나타낸다 - if문을 각각 수행하여 덱의 가장 앞쪽과 뒤쪽이 . 이면 제거한다 : 4번 조건 처리..
문제 링크: https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 1. 주의할 점 - Set + DFS/BFS로 시도시 메모리 초과 발생 가능 2. 구현 (1) Set + BFS : 메모리 초과 - 현재 Queue의 Front에 담긴 문자열을 기준으로 뒤에 'A' 추가 or 뒤집기 + 'B' 추가 시도하며, 해당 문자열이 이미 셋에 존재한다면 큐에 넣지 않는다 - BFS는 First==Second 혹은 First..