반응형
https://school.programmers.co.kr/learn/courses/30/lessons/147355?language=python3
문자열을 다뤄보는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 정답 변수 answer 선언 후 0으로 초기화합니다.
2. p의 길이를 선언 후 해당 값을 저장합니다.
📔 풀이과정
p길이만큼 자르기 위해 0부터 t의 길이 - p의 길이까지 for loop를 수행하며 다음을 진행합니다.1. 자른 부분 문자열을 저장해주고 p보다 작다면 answer를 1증가시켜줍니다. 파이썬의 경우 문자열,정수 비교를 모두 <= 연산자로 가능하지만 java는 toCompare함수를 사용해 0 또는 -1이라면 해당 조건을 만족하게 됩니다.
📔 정답 출력 | 반환
answer를 반환합니다.
📕 Code
📔 Java
import java.math.BigDecimal;
class Solution {
public int solution(String t, String p) {
int answer = 0;
int plen = p.length();
for(int i = 0; i <= t.length() - plen; i++) {
String subString = t.substring(i, i+plen);
if (new BigDecimal(subString).compareTo(new BigDecimal(p)) <= 0) {
answer += 1;
}
}
return answer;
}
}
📔 Python3
def solution(t, p):
answer = 0
p_len = len(p);
for i in range(0, len(t)-p_len+1):
sub_str = t[i:i+p_len]
if sub_str <= p:
answer += 1;
return answer
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Brute Force' 카테고리의 다른 글
(Python3) - 프로그래머스(연습문제): 바탕화면 정리 (0) | 2024.11.10 |
---|---|
(Python3) - 프로그래머스(PCCE 기출문제): 10번 / 공원 (0) | 2024.11.08 |
(Python3) - 프로그래머스(코딩테스트 입문) : 문자열 밀기 (0) | 2024.11.03 |
(Python3) - 프로그래머스(코딩테스트 입문) : 연속된 수의 합 (1) | 2024.11.03 |
(Python3) - 프로그래머스(코딩테스트 입문) : k의 개수 (0) | 2024.10.31 |