알고리즘
-
[프로그래머스] 배열 만들기 2알고리즘 노트 2023. 10. 16. 10:29
l, r이 주어지고 이에 대해 5와 0으로만 이루어진 수를 구하는 내용 이번에는 util 클래스를 여러가지 섞어서 사용해보았다. [문제 풀이] 1. 주어진 l부터 r까지의 값을 IntStream의 rangeClosed을 이용해 Loop 진행 2. filter 내 주어진 i를 String으로 변환 후 char 타입으로 바꾸어 한 글자씩 원하는 5 또는 0인지 확인. 맞다면 true, 틀리다면 false를 리턴 3. boxed()를 통해 IntStream을 Stream로 치환한 후 mapToInt를 통해 최종 int형으로 형변환작업 후 Array로 return. 4. answer의 길이가 0 이상이면 answer를, 아니면 새로운 배열을 만들어 -1을 넣은 후 return
-
[프로그래머스] 수 조작하기 2알고리즘 노트 2023. 10. 13. 13:31
정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다. "w" : 수에 1을 더한다. "s" : 수에 1을 뺀다. "d" : 수에 10을 더한다. "a" : 수에 10을 뺀다. 그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다. 주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요. 제한사항 2 ≤ numLog의 길이 ≤ 100,000 -100,000 ≤ numLog[0] ≤ 1..
-
[프로그래머스] 수 조작하기 1알고리즘 노트 2023. 10. 13. 12:35
수 조작하기 1 정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. 위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요. 제한사항 -100,000 ≤ n ≤ 100,000 1 ≤ control의 길이 ≤ 100,000 control은 알파벳 소문자 "w", "a", "s", "d"로 이루어진 문자열입니다. 입출력 예ncontrolresult 0 "wsdawsdass..