반응형
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
- 등수매기기 파이썬
- 지도자동구축 파이썬
- 백준 전쟁 파이썬
- 백준 전쟁-전투
- 소프티어 장애물인식프로그램
- MongoDB
- CRUD
- 프로그래머스
- 백준 점프
- 소프티어 지도자동구축
- express
- 백준 등수매기기
- 백준알파벳파이썬
- MySQL완전삭제
- jenkins
- 백준 바이러스
- 장애물인식프로그램 파이썬
- 백준 피아노체조
- express mongodb
- 백준
- 백준 평범한배낭
- 파이썬 평범한배낭
- 백준 예산
- 금고털이 파이썬
- 백준 A->B
- 1987파이썬
- 피아노체조 파이썬
- 파이썬데이터분석라이브러리
- 백준 점프 파이썬
- 도커 컨테이너
Archives
- Today
- Total
바위 뚫는중
[프로그래머스] Lv1. 문자열 내림차순으로 배치하기, 이상한 문자 만들기 본문
반응형
문자열 내림차순으로 배치하기
문제
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
- str은 길이 1 이상인 문자열입니다.
풀이
문자열에서 sort하면 큰거부터 나열되고,
reverseOrder 이용시 작은알파벳부터 나열된다
split으로 Character하나씩 배열에 넣고, 이를 빈 스트링에 하나씩 더해주어 반환
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String[] chs = s.split("");
Arrays.sort(chs, Collections.reverseOrder());
for(String a : chs)
answer += a;
return answer;
}
}
이상한 문자 만들기
문제
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
풀이
쉬워보이지만 안쉬움
공백기준으로 자르되, 맨 마지막의 경우 공백이 포함될 수 있으므로 -1을 해준다고 한다,, 이부분은 잘모르겠음 아직도,, 안하면 틀리게 나옴
그 뒤로는 똑같고
toUpperCase(), toLowerCase() 를 사용하고
단어 글자별로 join을 통해 각 반복문이 끝날때마다 합쳐주고
문장을 다시 완성할때는 띄어쓰기를 활용한다
파이썬하고 자바를 하니 느낀점은,,뭔가,, 자바는 ide를 사용안하면 정말 너무어렵다는 것
코드
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String [] arr = s.split(" ", -1); // 공백기준으로 자르기
// 배열길이만큼 반복
for(int i = 0; i < arr.length; i ++) {
String [] arr2 = arr[i].split(""); //그냥 자르기
for ( int j = 0; j < arr2.length; j ++) {
if (j%2 == 0) // 짝수는
arr2[j] = arr2[j].toUpperCase();
else
arr2[j] = arr2[j].toLowerCase();
}
arr[i] = String.join("",arr2);
}
return String.join(" ", arr);
}
}
반응형
'Algorithms > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv1. 같은 숫자는 싫어, 하샤드 수 (0) | 2023.08.10 |
---|---|
[프로그래머스] Lv2. 더 맵게 (0) | 2023.08.10 |
[프로그래머스] Lv2. 짝지어 제거하기, Lv1. 문자열 내 p와 y의 개수 (0) | 2023.08.01 |
[프로그래머스] Lv2. 올바른 괄호 - charAt 사용법 (0) | 2023.08.01 |
[프로그래머스] Lv2. 최솟값 만들기 - 우선순위 큐 (0) | 2023.07.30 |