inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

4. 단어 뒤집기(StringBuilder이용법 또는 직접뒤집기)

단어뒤집기 런타임에러

269

Jungyeon Laura Kim

작성한 질문수 1

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

안녕하세요! 단어뒤집기에서, 제 코드 왜 runtime error가 나는지 보이지가 않아서 질문드립니다..ㅜ

import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int N = in.nextInt();
    for (int i = 0; i < N; i++) {
      String str = in.next();
      String answer = "";
      for (int j = str.length() - 1; j >= 0; j--) {
        answer += str.charAt(j);
      }
      System.out.println(answer);
    }
  }
}

string이 계속 생성돼서 그런걸까요?

java 코딩-테스트

답변 2

0

김태원

안녕하세요^^

방금 채점사이트에서 채점해보니 "정답입니다" 라고 정상적으로 채점이 됩니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

먼저, 단어 뒤집기 코드를 살펴보았는데, 코드는 문제가 없어보입니다.

그러나, 단어를 뒤집을 때 매번 새로운 문자열을 생성하는 것은 메모리를 많이 사용할 수 있습니다.

문자열은 변경할 수 없는(immutable) 자료형이므로, 문자열을 합칠 때마다 새로운 문자열을 생성합니다. 이로 인해 메모리 사용량이 계속해서 증가할 수 있습니다.

이러한 경우에는 StringBuilder 클래스를 사용하는 것이 좋습니다. StringBuilder를 사용하면 문자열을 변경할 수 있으므로 메모리 사용량을 줄일 수 있습니다.

아래는 StringBuilder를 사용한 코드 예시입니다.

Scanner in = new Scanner(System.in);
int N = in.nextInt();
for (int i = 0; i < N; i++) {
  String str = in.next();
  StringBuilder answer = new StringBuilder();
  for (int j = str.length() - 1; j >= 0; j--) {
    answer.append(str.charAt(j));
  }
  System.out.println(answer.toString());
}

이렇게 코드를 변경하면 메모리 사용량이 줄어들어서 런타임 에러가 발생하지 않을 수 있어요. 참고하세요.

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

21

1

갑자기 채점 사이트가 바뀌었어요

0

29

1

문제 리스트 페이지

0

25

1

채점 사이트 관련 질문드립니다

0

23

1

봉우리 문제 질문입니다

0

79

2

씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?

0

63

0

이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?

0

70

0

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

0

67

1

좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ

0

84

2

6-7 강의에서

0

47

1

6-6. 장난꾸러기 질문 있습니다.

0

43

1

강의 수강후 코딩테스트

0

106

1

answer 변수 사용 여부

0

43

1

2중 for문

1

84

2

2-11. 임시반장정하기 (Runtime Error)

0

63

1

혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?

0

69

1

이런 풀이는 어떨까요

0

42

1

자바 스트림 방식의 효율성 질문 드립니다.

0

55

1

알고리즘 자료 구조들..

0

60

1

StringBuilder vs BufferdWriter

0

47

1

원더랜드(프림)

0

48

1

이런 코드는 어떤가요?

0

59

1

bfs 풀이

0

56

1

병합정렬

0

55

1