목록Problem Solving (5)
CS 일기장

https://www.acmicpc.net/problem/11047 1) 리팩토링을 하는 이유알고리즘에서 시간 복잡도를 중요시 해야한다. 중요시 해야한다. 라고 배우긴 배우는데, 지금껏 시간 1초 차이로 그렇게 떨어져 본 적은 없어서 그냥 풀이가 중요하다고 생각했다. 그러나 알고리즘을 요새 배우고 있는데, 걸린 시간(시간 복잡도)가 빠를수록 중요하다고 슬슬 배우다보니 조금 체감이 되는 것 같다. 그러던 중, 맞추면 장땡이라고 했던 예전 마인드를 최근에 수업을 듣다가 바뀌게 되었다. 항상 코드는 짜기만 하는 것이 중요한 게 아니라 리팩토링이 중요한데, 그것이 문제 풀이에도 적용되어야 실력이 늘 수 있다는 사실을 깨달았다. 그리고 내가 처음에 짠 코드는 이 문제의 의도를 크게 벗어나면서 시간을 많이 잡아 ..

https://school.programmers.co.kr/learn/courses/30/lessons/120894 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제를 틀린 이유문자열 대체하는 자바의 String 메소드를 생각하지 못하고, contains를 사용해서, True를 리턴했을 때, 해당 숫자로 바꿔줘나 했는데, 그러면 If 문이 너무 많아질려나? 싶기도 하고 쓰다가 지웠다가 다시 생각을 반복하다가, replace 메소드가 있다는 사실을 알게되고, 문제를 풀었다. 그래도 코드가 더럽다. 그냥 다음번엔 배열에 담고, valueOf 메소드 까지 써서 깔끔한 코드, 반복되는 부분이 없는 코드를..

https://school.programmers.co.kr/learn/courses/30/lessons/120853 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내가 틀린 이유이 문제는 생각보다 쉬운 문제였다. 띄어쓰기로 문자열들이 저장 되어 있다는 것 자체가 String이라는 참조 자료형의 split 메소드를 사실상 유도하고 있다고 볼 수 있는 문제였다. 당연하게 아 문자열을 문자로 자른 다음에, 아스키 코드로 접근해서 문제를 풀면 되겠다라고 한 나는 그런 식으로 접근하다가, 그만 아스키 코드는 한 자릿 수 밖에 표현이 되지 않고, char로 자르다 보면, 한 글자씩밖에 되지 않는데, 왜 이런 접근을..
https://school.programmers.co.kr/learn/courses/30/lessons/181921 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약, 그러한 정수가 없다면 -1이 담긴 배열을 return 합니다.제한 사항1 입출력 예lrresult5555[5,50,55,500,505,550,555]1020[-1]입출력 예 설명5 이상 555 이하의 0과 5로만 이루어진 정수는 작은 수부터 5,..
https://school.programmers.co.kr/learn/courses/30/lessons/181923 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다.각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다. 제한 사항1 ≤ arr의 길이 ..