inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

강사님과 다른 방식으로 풀었는데 확인 부탁드립니다.

미해결

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

public class Main7 { public static String solution(String str) { String answer=""; //문자를 카운트한다. //문자가 2개 이상일 경우 그 문자를 지운다. ArrayList<Character> list = new ArrayList<>(); for(char a : str.toCharArray()) { if(!list.contains(a)) { list.add(a); } } for(char a : list) { answer += a; } return answer; } public static void main(String[] args){ Scanner in=new Scanner(System.in); String str = in.nextLine(); System.out.print(solution(str)); } } 문제는 통과했지만 시간복잡도?에 대해 궁금한 것이 있어서 질문드립니다. 제가 한 방법은 1.ArrayList<Character> list를 생성 2.주어진 문장 str을 toCharArray()로 변환. 3.for each문을 실행해 주어진 문장을 한글자씩 list에 담지만 list.contains()를 사용하여 list에 문자가 있다면 제외. 4.마지막으로 String 변수에 저장해 출력. 이런 방식으로 풀었는데 저는 for문을 2번 사용했고 강사님은 for문을 1번 수행했습니다. 만약에 시간제한이 있는 문제라면 제 방식은 문제가 있는걸까요? 시간복잡도에 대해 잘 알지못해서 질문드립니다.

  • 중복문자제거
  • java
  • 코테 준비 같이 해요!
dark chocolate 댓글 1 좋아요 1 조회수 215

인기 태그

인프런 TOP Writers

주간 인기글