목록PS:0 (62)
치악산 복숭아
왼쪽 오른쪽 괄호가 짝이 맞는지를 검사하는 문제이다.접근 방법주어진 괄호 문자열의 현재 인덱스의 문자가 왼쪽 괄호`([{` 인지 확인맞다면 스택에 넣는다아니라면 2번으로현재 스택이 비어있는지 확인비어있다면 false 얼리 리턴 -> `)}]` 이 먼저 왔으므로 짝이 맞지 않음비어있지 않다면 3번으로현재 인덱스의 문자가 오른쪽 괄호`)]}` 인지 확인맞다면 스택의 top 문자가 짝이 맞는 왼쪽 괄호인지 체크맞다면 top 문자를 꺼내기(pop) -> 짝이 맞는 괄호아니라면 false 얼리 리턴 -> 짝이 맞지 않는 괄호1~3번을 반복한 뒤 스택이 비어있는지 여부를 리턴 위 방법을 코드로 구현하면 아래와 같다. #include class Solution {public: bool isValid(string..
주어진 버전 배열 중 가장 처음으로 등장한 나쁜 버전 값을 찾는 문제이다.처음에는 아무 생각 없이 브루트포스 방식으로 문제를 풀려다가 time exceeded 에러가 나서😅 이진 탐색 방법으로 해결했다. class Solution {public: int firstBadVersion(int n) { int begin = 1; int end = n; int mid; if (begin == end) { return n; } while(begin != end) { mid = (begin / 2 + end / 2); if (isBadVersion(mid)) { end = mid; } e..
문제 링크 풀이 (CPP)접근 방법팰린드롬을 이루는데에는 양쪽 끝에 위치할 같은 알파벳이 2개씩 필요함 + 한 가운데에는 알파벳 한개만 넣어도 됨ex) abcba 팰린드롬은 알파벳으로만 이루어져있으며, 대소문자를 구별한다.-> 아스키코드를 사용해서 카운팅해볼까?정리: 아스키코드 A ~ z 의 길이(58)의 배열을 만들어서 주어진 문자열을 돌면서 각 인덱스의 문자가 등장하는 횟수를 저장하자!짝수 번 등장했으면 result의 길이를 2씩 늘려주기 (양쪽 끝)예제 문장을 한바퀴 다 돌고난 뒤 만약 1번만 나타난 문자가 있다면 result의 길이를 1 늘려주기 (가운데) 구현 코드class Solution {public: int longestPalindrome(string s) { const ..
링크 programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는..