[Programmers/코딩테스트 입문] 아이스 아메리카노, 배열뒤집기 Java (StringBuffer, charAt)
2022. 11. 28. 15:34ㆍIT/Programmers
728x90
반응형
아이스 아메리카노 (Java)
class Solution {
public int[] solution(int money) {
int[] answer = new int[2];
answer[0] = (int)(money/5500);
answer[1] = (int)(money%5500);
return answer;
}
}
제출하고 생각해보니 5500원을 따로 변수에 지정하는 게 맞는 것 같다.
뭔가 더 제대로 된 방법이 있을 것 같은데, 단순히 통과만을 위한 코드라서 부끄러울 따름이다.
배열 뒤집기 (Java 가 아니라 C였네)
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// num_list_len은 배열 num_list의 길이입니다.
int* solution(int num_list[], size_t num_list_len) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int* answer = (int*)malloc(sizeof(int) * num_list_len);
for (int i = 0; i < num_list_len; i++) {
answer[i] = num_list[num_list_len-(1+i)];
}
return answer;
}
다른 사람 풀이도 봤는데 딱히 더 좋아보이지 않아서 이건 그대로.
#malloc
문자열 뒤집기 (Java) 이건 좀 어려웠더.
class Solution {
public String solution(String my_string) {
String answer = "";
StringBuffer str = new StringBuffer(my_string);
answer = str.reverse().toString();
return answer;
}
}
my_string.length() 를 사용 못한다고 해서 고민하다가, java에는 reverse() 함수가 있다는 걸 알고 사용해보기로 했다.
먼저 String을 buffer로 옮겨담고 (new StringBuffer) 해당 stringbuffer를 reverse()하고 toString()을 이용해 string 형태로 복귀시킨 듯 하다. 나도 잘 이해가 안가지만 앞으로 써먹어야겠다고 생각했다. ㅎ
#자바문자열뒤집기 #reverse함수 #StringBuffer
내가 원했던 방식은
class Solution {
public String solution(String my_string) {
String answer = "";
for(int i = my_string.length() - 1 ; i >= 0; i--){
answer += my_string.charAt(i);
}
return answer;
}
}
이거였는데, charAt() 함수를 몰라서 실패했다.
#charAt함수 String data(문자열)에서 특정 문자(인덱스에 해당하는)를 char type으로 반환하는 함수
728x90
반응형
'IT > Programmers' 카테고리의 다른 글
[Programmers/ 코딩테스트 연습] 평균값 , 옷가게 할인Java (0) | 2022.11.30 |
---|---|
[Programmers/코딩테스트 연습] 직각삼각형, 짝수 홀수, 문자 반복 Java (split, String복사, reverse, charAt) (0) | 2022.11.29 |
[Programmers/코딩테스트 연습] 짝수는 싫어요 Java (arraylist 동적 배열) (0) | 2022.11.27 |
[Programmers/코딩테스트 연습] 최빈값 구하기 java (0) | 2022.11.26 |
[Programmers/코딩테스트 연습] 피자 Java (0) | 2022.11.25 |