티스토리 뷰
💻JAVA 코드 바로보기
□문제 설명
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
□제한사항
- strings는 길이 1 이상, 50이하인 배열입니다.
- strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
- strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
- 모든 strings의 원소의 길이는 n보다 큽니다.
- 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.
□입출력 예
strings | n | return |
["sun", "bed", "car"] | 1 | ["car", "bed", "sun"] |
["abce", "abcd", "cdx"] | 2 | ["abcd", "abce", "cdx"] |
□입출력 예 설명
입출력 예 1
"sun", "bed", "car"의 1번째 인덱스 값은 각각 "u", "e", "a" 입니다. 이를 기준으로 strings를 정렬하면 ["car", "bed", "sun"] 입니다.
입출력 예 2
"abce"와 "abcd", "cdx"의 2번째 인덱스 값은 "c", "c", "x"입니다. 따라서 정렬 후에는 "cdx"가 가장 뒤에 위치합니다. "abce"와 "abcd"는 사전순으로 정렬하면 "abcd"가 우선하므로, 답은 ["abcd", "abce", "cdx"] 입니다.
🌼JAVA 알고리즘
□초기화면
특정 문자(n번째 글자)를 기준으로 selection정렬 알고리즘을 사용하려 했지만, 같은 문자가 나올 경우가 적용되지 않아.. 특정문자를 배열 각 요소의 가장 첫번째 문자로 붙인 후 Arrays.sort()를 사용하였다. |
□완성코드
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
String[] answer = new String[strings.length];
for (int i = 0; i < strings.length; i++) {
String plus = strings[i].substring(n, n + 1);
strings[i] = plus + strings[i];
}
Arrays.sort(strings);
for (int i = 0; i < strings.length; i++) {
answer[i] = strings[i].substring(1);
}
return answer;
}
}
□사용 문법
🔗 string.substring()
문자열을 원하는 위치에서 잘라 사용할 수 있는 메소드 인덱스가 1개일경우 인덱스 ~ 끝까지 자르고 2개일 경우 각각 시작점과 끝점이 된다. 문자열.substring(4); |
[ 자바 코딩 ] java substring 으로 문자열 자르기
안녕하세요. 제임스 입니다. Java 사용중 문자열을 원하는 위치에서 잘라야 하는 경우가 있습니다. 이때 사용하는 하는 java 함수가 바로 substring 입니다. 이번에는 이 substring 에 대해 자세히 알아
jamesdreaming.tistory.com
🔗 Arrays.sort()
java.util.Comparator를 import 해주어야 사용 가능 Wapper클래스 타입에서만 사용할 수 있다. 매개변수에 따라 배열 일부만 정렬할 수도 있고, 기본적으로 오름차순과 내림차순 정렬이 가능하다. Arrays.sort(정렬대상); |
[Java] 자바 배열 정렬하기(오름차순, 내림차순) Arrays.sort()
자바에서 배열이나 리스트를 정렬하려고 한다면 java.util.Arrays 클래스의 sort() 메서드를 사용하시면 따로 정렬 로직을 짜지 않아도 한번의 메소드 호출로 간편하게 배열이나 리스트를 정렬할 수
coding-factory.tistory.com
□링크
About Me
💻GitHub/KimSky904 KimSky904 - Overview Department of New Media Software. KimSky904 has 8 repositories available. Follow their code on GitHub. github.com
code-review.tistory.com
코딩테스트 연습 - 문자열 내 마음대로 정렬하기
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱
programmers.co.kr
'[코테] > [Programmers Lv1]' 카테고리의 다른 글
[Programmers] Lv1_소수 찾기 (JAVA) (2) | 2021.07.15 |
---|---|
[Programmers] Lv1_행렬의 덧셈 (JAVA) (0) | 2021.07.14 |
[Programmers] Lv1_x만큼 간격이 있는 n개의 숫자 (JAVA/C++) (2) | 2021.07.13 |
[Programmers] Lv1_정수 내림차순으로 배치하기 (JAVA) (0) | 2021.07.13 |
[Programmers] Lv1_모의고사 (JAVA) (0) | 2021.06.27 |
- 연습문제
- 기출문제
- cospro기출
- lv1
- groom
- COSPRO 2급
- 자바
- 코딩테스트
- 알고리즘
- YBM기출
- Cos Pro
- 코스프로
- C++
- groomedu
- lv2
- 구름 기출문제
- 배열활용문제
- CosPro
- C
- Java
- c언어 기출문제
- 배열
- 구름에듀 기출문제
- YBM
- programmers
- c언어
- 1급
- 구름에듀
- cospro기출문제
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |