Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프리온보딩 백엔드 챌린지
- 알고리즘
- 백엔드 개발자
- 개발공부
- 코딩테스트
- IT
- 코딩
- 백준 java
- IT취업
- 기술면접
- cs지식
- 알고리즘풀이
- 자바
- IT취준
- 백엔드
- 프로그래머스
- IT공부
- IT개발
- 백준 자바
- 코테
- IT개발자
- 백엔드개발자
- apm 소스설치
- 백준
- Java
- apm 수동설치
- 개발자취준
- 개발자
- 프리온보딩
- 원티드
Archives
- Today
- Total
코이팅
프로그래머스 [level 0] 문자열 밀기 - 자바(java) 본문
728x90
반응형
[level 0] 문자열 밀기 - 120921
성능 요약
메모리: 73 MB, 시간: 1.27 ms
구분
코딩테스트 연습 > 코딩테스트 입문
채점결과
정확성: 100.0
합계: 100.0 / 100.0
문제 설명
문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 몇 번 밀어야 하는지 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < A의 길이 = B의 길이 < 100
- A, B는 알파벳 소문자로 이루어져 있습니다.
입출력 예
ABresult
"hello" | "ohell" | 1 |
"apple" | "elppa" | -1 |
입출력 예 설명
입출력 예 #1
- "hello"를 오른쪽으로 한 칸 밀면 "ohell"가 됩니다.
입출력 예 #2
- "apple"은 몇 번을 밀어도 "elppa"가 될 수 없습니다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
🔴 나의 풀이
class Solution {
public int solution(String A, String B) {
int answer = 0;
String copy = A;
for (int i = 0; i < A.length(); i++) {
if (copy.equals(B)) {
return answer;
}
String a = copy.substring(copy.length() - 1);
copy = a + copy.substring(0, copy.length() - 1);
answer++;
}
return -1;
}
}
1️⃣ 문자 끝 글자만 잘라 a에 대입합니다.
2️⃣ 끝 글자와 0부터 끝 글자 전까지 자른 문자를 더합니다.
3️⃣ 1, 2번을 A 길이만큼 반복합니다.
4️⃣ 만약 copy 문자와 B가 같다면 answer(문자를 민 횟수)를 리턴하고 없다면 -1을 리턴합니다.
728x90
반응형
'프로그래머스 > lv0' 카테고리의 다른 글
프로그래머스 [level 0] 나머지 구하기 - 자바(java) (0) | 2023.01.05 |
---|---|
프로그래머스 [level 0] 몫 구하기 - 자바(java) (0) | 2023.01.05 |
프로그래머스 [level 0] 두 수의 곱 - 자바(java) (0) | 2023.01.05 |
프로그래머스 [level 0] 다항식 더하기 - 자바(java) (0) | 2023.01.05 |
프로그래머스 [level 0] 종이 자르기 - 자바(java) (0) | 2023.01.02 |
Comments