일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 코드리뷰
- 오늘밤 세계에서 이 사랑이 사라진다 해도 #독후감 #오열
- UE_5
- 브론즈
- CS
- C++
- 언리얼엔진5 #언리얼 클라이언트 프로그래밍
- Gas
- STL
- CS50
- topdownmove
- 네트워크 기초
- Unreal
- 순환 리스트
- Console
- Harvard
- A* Algorithm
- Toon Shading
- Module
- 폭설 #미친 날씨
- leetcode
- 메테리얼
- c++ 베이직
- 언리얼
- 원카페#무인카페#카페추천#카페맛집
- 헤더 경로
- build.cs
- 툰쉐이딩
- 언리얼 엔진5 #언리얼 클라이언트 프로그래밍
- 백준
- Today
- Total
목록leetcode (3)
WN_인생기록
가장 긴 접두사 찾는 문제이다. 처음엔 한글자씩 뽑아서 일치하면 넘어가고 그런식으로 풀어나가려고 했는데, 한글자씩 뽑는건 되는데 체크하고 다음거 넘어가고, 틀리면 구문 탈출하는 과정이 복잡한거 같아서 생각을 바꿨다. 아예 첫 글자를 기준으로 삼고, 뒤에서부터 하나씩 잘라가면서 비교하는게 나을거 같았다. 왜냐하면 앞에서부터 글자를 비교하면 글자 length를 고려해야해서 복잡할거 같았다. class Solution { public: string longestCommonPrefix(vector& strs) { if (strs.empty()) return ""; // 첫번째 단어를 기준으로 선택 string prefix = strs[0]; // 첫 번째 문자열을 제외하고 나머지 문자열을 순회 for (int ..
로마숫자를 int로 표현하는 문제이다. 단순하게 매핑된 값을 꺼내는 문제인줄 알았으나, 조건이 있는게, IIII의 경우 IV 같이 5-4 라고 표현하는 것이다. 이는, 왼쪽에서 오른쪽으로 파싱할때, 현재의 숫자가 뒷자리 보다 작으면 -를 현재의 숫자가 뒷자리 보다 크면 + 를 한다는걸 의미한다. (이게 제일 헷갈렸음) 그래서 이 조건을 따라보면, class Solution { public: int romanToInt(string s) { unordered_map a; a.emplace('I', 1); a.emplace('V', 5); a.emplace('X', 10); a.emplace('L', 50); a.emplace('C', 100); a.emplace('D', 500); a.emplace('M',..
팰린드룸(회문) 에 대한 문제이다. int 형으로 된 숫자가 회문인지 아닌지 판단하는 알고리즘을 구하는 문제이다. 예시에는 기본 상태와, 예외 처리해야할 예시들이 보여진다. (음수는 팰린드룸 X, 10 일때는 01 이기 때문에 회문이 될 수 없음) 정리하자면 앞부분과 뒷부분이 같아야 하는데, 음수이면 안되고, 10의 배수이거나 0이여서도 안됨 class Solution { public: bool isPalindrome(int x) { // 음수 제외, 10의 배수 제외, 0 제외 조건 if (x 0) { length++; ..