티스토리 뷰

1️⃣ 문자열 나누기

 

문제 설명

문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다.

  • 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다.
  • 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다.
  • s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다.
  • 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분리하고, 종료합니다.

문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문자열들로 분해하고, 분해한 문자열의 개수를 return 하는 함수 solution을 완성하세요.

 

제한사항

  • 1 ≤ s의 길이 ≤ 10,000
  • s는 영어 소문자로만 이루어져 있습니다.

입출력 예

s result
"banana" 3
"abracadabra" 6
"aaabbaccccabba" 3

입출력 예 #1
s="banana"인 경우 ba - na - na와 같이 분해됩니다.

 

입출력 예 #2
s="abracadabra"인 경우 ab - ra - ca - da - br - a와 같이 분해됩니다.

 

입출력 예 #3
s="aaabbaccccabba"인 경우 aaabbacc - ccab - ba와 같이 분해됩니다.

 

 

💻 나의 풀이

class Solution {
    public int solution(String s) {
        char first = s.charAt(0);   // 문자열 s의 첫번째 문자를 fisrt 변수에 저장
        int firstNum = 0;   // 첫번째 문자의 개수
        int diff = 0;   // 첫번째 문자와 다른 문자의 개수
        int answer = 0;
        
        for(int i=0; i<s.length(); i++) {   // 문자열 s를 순회하면서
            if(firstNum == diff) {   // 첫번째 문자의 개수와 다른 문자의 개수가 같다면
                answer++;   // answer 증가
                first = s.charAt(i);   // 그 다음 글자로 업데이트 해서 반복
            }
            
            if(s.charAt(i) == first) firstNum++;   // 현재 문자(i)가 첫번째 문자가 같다면 첫번째 문자의 개수증가
            else diff++;   // 아니라면 다른 문자의 개수 증가
                
        }
        return answer;
    }
}

 

첫 번째 문자를 기준으로

기준 문자의 개수와 기준 문자와 다른 문자들의 개수를 세어줍니다.

기준 문자의 개수와 다른 문자들의 개수가 같다면 => 결과값을 증가시키고, 다음 문자로 업데이트 해줍니다.

 

 

 

🔍 다른 사람의 풀이

class Solution {

    public int solution(String s) {
        char prev = '1';
        int same = 0, different = 0, answer = 0;
        for (char c : s.toCharArray()) {
            if (prev == '1') {
                prev = c;
                same++;
                answer++;
            } else if (prev == c) {
                same++;
            } else {
                different++;
            }

            if (same == different) {
                prev = '1';
                same = 0; different = 0;
            }
        }

        return answer;
    }
}

 

 

 

 


 

2️⃣ 숫자 짝꿍

 

문제 설명

두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다.

예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는 5가 2개 나타나므로 남는 5 한 개는 짝 지을 수 없습니다.)
두 정수 X, Y가 주어졌을 때, X, Y의 짝꿍을 return하는 solution 함수를 완성해주세요.

제한사항

  • 3 ≤ X, Y의 길이(자릿수) ≤ 3,000,000입니다.
  • X, Y는 0으로 시작하지 않습니다.
  • X, Y의 짝꿍은 상당히 큰 정수일 수 있으므로, 문자열로 반환합니다.

 

입출력 예

X Y result
"100" "2345" "-1"
"100" "203045" "0"
"12321" "42531" "321"
"5525" "1255" "552"

입출력 예 #1

  • X, Y의 짝꿍은 존재하지 않습니다. 따라서 "-1"을 return합니다.

입출력 예 #2

  • X, Y의 공통된 숫자는 0으로만 구성되어 있기 때문에, 두 수의 짝꿍은 정수 0입니다. 따라서 "0"을 return합니다.

입출력 예 #3

  • X, Y의 짝꿍은 10이므로, "10"을 return합니다.

입출력 예 #4

  • X, Y의 짝꿍은 321입니다. 따라서 "321"을 return합니다.

입출력 예 #5

  • 지문에 설명된 예시와 같습니다.

 

 

💻 나의 풀이

import java.util.*;

class Solution {
    public String solution(String X, String Y) {
        // 0~9까지 등장한 횟수를 저장할 배열
        int[] cntX = new int[10];
        int[] cntY = new int[10];
        
        // X 문자열에서 각 숫자의 등장 횟수 계산
        for(String tmpX : X.split("")) cntX[Integer.parseInt(tmpX)]++;
        // Y 문자열에서 각 숫자의 등장 횟수 계산
        for(String tmpY : Y.split("")) cntY[Integer.parseInt(tmpY)]++;
        
        // 등장한 숫자 조합하기
        StringBuilder sb = new StringBuilder();
        
        // 내림차순 정렬
        for(int i=9; i>=0; i--) {
            while(cntX[i] > 0 && cntY[i] > 0) {
                sb.append(i);
                cntX[i]--;
                cntY[i]--;
            }
        }
        
        // 결과 저장할 변수
        String answer = "";
        
        // 짝꿍 없으면 = 조합된 숫자 없으면 -1 반환
        if("".equals(sb.toString())) {
            answer = "-1";
        } else if("0".equals(sb.toString().substring(0,1))) {
            // 짝꿍이 0으로만 구성 = 조합된 숫자가 있지만 첫 자리가 0이면 0 반환
            answer = "0";
        } else {
            // 그 외에는 조합된 숫자를 반환
            answer = sb.toString();
        }
        return answer;
    }
}

 

X, Y를 문자열 배열로 만든 후에 > StringBuilder로 변환 > 내림차순 정렬 > indexOf()로 찾게끔 코드를 작성했었는데 시간 초과로 실패했습니다.

힌트들 중 반복문의 기준을 X나 Y의 길이에 두지 말고, 0~9로 이루어진 숫자이니 이 숫자를 중심으로 생각하라는 힌트를 보고 다시 작성해봤습니다.

 

  • X와 Y에서 각 숫자 (0~9) 가 등장한 횟수를 저장하는 배열을 만듭니다.
  • for문을 통해 각 문자열에서 숫자의 등장 횟수를 계산합니다.
  • StringBuilder를 사용해 두 숫자열에서 공통으로 등장한 숫자를 조합합니다.
  • 등장한 숫자들을 큰 숫자부터 내림차순으로 조합합니다.
  • if문을 사용해 각 조건에 따른 반환값을 결정합니다.

 

 

🔍 다른 사람의 풀이

class Solution {
    public String solution(String X, String Y) {
        StringBuilder answer = new StringBuilder();
        int[] x = {0,0,0,0,0,0,0,0,0,0};
        int[] y = {0,0,0,0,0,0,0,0,0,0};
        for(int i=0; i<X.length();i++){
           x[X.charAt(i)-48] += 1;
        }
        for(int i=0; i<Y.length();i++){
           y[Y.charAt(i)-48] += 1;
        }

        for(int i=9; i >= 0; i--){
            for(int j=0; j<Math.min(x[i],y[i]); j++){
                answer.append(i);
            }
        }
        if("".equals(answer.toString())){
           return "-1";
        }else if(answer.toString().charAt(0)==48){
           return "0";
        }else {
            return answer.toString();
        }
    }
}

 

 


 

3️⃣ 체육복

 

문제 설명

점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.

전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성해주세요.

제한사항

  • 전체 학생의 수는 2명 이상 30명 이하입니다.
  • 체육복을 도난당한 학생의 수는 1명 이상 n명 이하이고 중복되는 번호는 없습니다.
  • 여벌의 체육복을 가져온 학생의 수는 1명 이상 n명 이하이고 중복되는 번호는 없습니다.
  • 여벌 체육복이 있는 학생만 다른 학생에게 체육복을 빌려줄 수 있습니다.
  • 여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있습니다. 이때 이 학생은 체육복을 하나만 도난당했다고 가정하며, 남은 체육복이 하나이기에 다른 학생에게는 체육복을 빌려줄 수 없습니다.

 

입출력 예

n lost reserve return
5 [2, 4] [1, 3, 5] 5
5 [2, 4] [3] 4
3 [3] [1] 2

예제 #1
1번 학생이 2번 학생에게 체육복을 빌려주고, 3번 학생이나 5번 학생이 4번 학생에게 체육복을 빌려주면 학생 5명이 체육수업을 들을 수 있습니다.

 

예제 #2
3번 학생이 2번 학생이나 4번 학생에게 체육복을 빌려주면 학생 4명이 체육수업을 들을 수 있습니다.

 

 

 

💻 나의 풀이

import java.util.*;

class Solution {
    public int solution(int n, int[] lost, int[] reserve) {
        int answer = 0;
        
        // 오름차순 정렬
        Arrays.sort(reserve);
        Arrays.sort(lost);
        
        // 도난 당하지 않은 학생 수 = 전체 - 도난 당한 학생 수
        answer = n - lost.length;
        
        // 여벌 체육복을 가져왔지만 도난 당한 학생 수
        // 다른 학생에게 체육복을 빌려줄 수 없음
        for(int i=0; i<lost.length; i++) {
            for(int j=0; j<reserve.length; j++) {   // 현재 도난당한 학생이 여벌 체육복을 가져온 학생 중에 있다면
                if(lost[i] == reserve[j]) {
                    answer++;   // 체육복을 찾은 경우 수업듣기 가능
                    lost[i] = -1;   // 해당 학생을 표시하여 중복 방지
                    reserve[j] = -1;   // 해당 여벌 체육복을 표시하여 중복 방지
                    break;
                }
            }
        }
        
        // 도난 당했지만 체육복을 빌릴 수 있는 학생 수
        for(int i=0; i<lost.length; i++) {
            for(int j=0; j<reserve.length; j++) {
                if(lost[i]-1 == reserve[j] || lost[i]+1 == reserve[j]) {
                    answer++;   // 체육복을 빌린 경우
                    reserve[j] = -1;   // 해당 여벌 체육복을 표시하여 중복 방지
                    break;
                }
            }
        }
        
        return answer;
    }
}

 

  • 먼저 reserve와 lost 배열을 정렬해주었습니다.
  • 도난 당하지 않은 학생 수 = n(전체) - lost.length(도난 당한 학생수)
  • lost배열과 reserve배열에 둘 다 있는 학생은 본인 체육복은 있지만 빌려줄 수 없습니다.
    • 본인 체육복이 있으므로 answer++
    • 다른 학생에게 체육복을 빌릴 필요가 없으므로 lost[i]에 상관없는 값 -1 저장
    • 다른 학생에게 빌려줄 수 없으므로 reserve[i]에 상관없는 값 -1 저장
    • break
  • 체육복을 앞뒤 번호 학생에게만 빌려줄 수 있다. (lost[i] - 1 == reserve[j] || lost[i] + 1 == reserve[j])
    • 체육복을 빌렸으므로 answer++
    • 체육복을 빌려줬으므로 reverse[j]에 -1 저장
    • break

 

 

 

🔍 다른 사람의 풀이

class Solution {
    public int solution(int n, int[] lost, int[] reserve) {
        int[] people = new int[n];
        int answer = n;

        for (int l : lost) 
            people[l-1]--;
        for (int r : reserve) 
            people[r-1]++;

        for (int i = 0; i < people.length; i++) {
            if(people[i] == -1) {
                if(i-1>=0 && people[i-1] == 1) {
                    people[i]++;
                    people[i-1]--;
                }else if(i+1< people.length && people[i+1] == 1) {
                    people[i]++;
                    people[i+1]--;
                }else 
                    answer--;
            }
        }
        return answer;
    }
}

 

배열 인덱스를 이용하면 정렬하고 중복찾는 일이 없습니다.

 

 


 

 

4️⃣ 대충 만든 자판

 

문제 설명

휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다.

예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다.

같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있습니다. 심지어 아예 할당되지 않은 경우도 있습니다. 따라서 몇몇 문자열은 작성할 수 없을 수도 있습니다.

이 휴대폰 자판을 이용해 특정 문자열을 작성할 때, 키를 최소 몇 번 눌러야 그 문자열을 작성할 수 있는지 알아보고자 합니다.

1번 키부터 차례대로 할당된 문자들이 순서대로 담긴 문자열배열 keymap과 입력하려는 문자열들이 담긴 문자열 배열 targets가 주어질 때, 각 문자열을 작성하기 위해 키를 최소 몇 번씩 눌러야 하는지 순서대로 배열에 담아 return 하는 solution 함수를 완성해 주세요.

단, 목표 문자열을 작성할 수 없을 때는 -1을 저장합니다.

제한사항

  • 1 ≤ keymap의 길이 ≤ 100
    • 1 ≤ keymap의 원소의 길이 ≤ 100
    • keymap[i]는 i + 1번 키를 눌렀을 때 순서대로 바뀌는 문자를 의미합니다.
      • 예를 들어 keymap[0] = "ABACD" 인 경우 1번 키를 한 번 누르면 A, 두 번 누르면 B, 세 번 누르면 A 가 됩니다.
    • keymap의 원소의 길이는 서로 다를 수 있습니다.
    • keymap의 원소는 알파벳 대문자로만 이루어져 있습니다.
  • 1 ≤ targets의 길이 ≤ 100
    • 1 ≤ targets의 원소의 길이 ≤ 100
    • targets의 원소는 알파벳 대문자로만 이루어져 있습니다.

 

입출력 예

keymap targets result
["ABACD", "BCEFD" ["ABCD", "AABB"] [9, 4]
["AA"] ["B"] [-1]
["AGZ", "BSSS"] ["ASA", "BGZ"] [4, 6]

 

입출력 예 #1

  • "ABCD"의 경우,
  • 1번 키 한 번 → A
  • 2번 키 한 번 → B
  • 2번 키 두 번 → C
  • 1번 키 다섯 번 → D
  • 따라서 총합인 9를 첫 번째 인덱스에 저장합니다.
  • "AABB"의 경우,
  • 1번 키 한 번 → A
  • 1번 키 한 번 → A
  • 2번 키 한 번 → B
  • 2번 키 한 번 → B
  • 따라서 총합인 4를 두 번째 인덱스에 저장합니다.
  • 결과적으로 [9,4]를 return 합니다.

입출력 예 #2

  • "B"의 경우, 'B'가 어디에도 존재하지 않기 때문에 -1을 첫 번째 인덱스에 저장합니다.
  • 결과적으로 [-1]을 return 합니다.

입출력 예 #3

  • "ASA"의 경우,
  • 1번 키 한 번 → A
  • 2번 키 두 번 → S
  • 1번 키 한 번 → A
  • 따라서 총합인 4를 첫 번째 인덱스에 저장합니다.
  • "BGZ"의 경우,
  • 2번 키 한 번 → B
  • 1번 키 두 번 → G
  • 1번 키 세 번 → Z
  • 따라서 총합인 6을 두 번째 인덱스에 저장합니다.
  • 결과적으로 [4, 6]을 return 합니다.

 

 

💻 나의 풀이

import java.util.*;

class Solution {
    public int[] solution(String[] keymap, String[] targets) {
        int[] answer = new int[targets.length];
        HashMap<Character, Integer> keypad = new HashMap<>();
        
        // keypad에 문자와 해당 문자의 최소 인덱스를 저장
        for(int i=0; i<keymap.length; i++) {
            for(int j=0; j<keymap[i].length(); j++) {
                char cur = keymap[i].charAt(j);   // 현재 문자를 변수 cur에 저장
                if(keypad.containsKey(cur)) {   // 만약 keypad에 현재 문자가 이미 존재한다면
                    int idx = keypad.get(cur);   // keypad에서 특정키(cur)에 해당하는 값을 가져와 저장할건데
                    keypad.put(cur, Math.min(idx, j+1));   // 현재 문자의 최소 인덱스와 기존에 저장된 인덱스 중 작은 값을 선택하여 저장
                }
                else {
                    keypad.put(cur, j+1);   // keypad에 해당 문자가 존재하지 않으면 새로운 키로 추가
                }
            }
        }
        
        for(int i=0; i<targets.length; i++) {
            String target = targets[i];  // 현재 입력할 target 문자를 가져옴
            int count = 0;   // 현재 문자열에 대한 합산값을 저장할 변수
            boolean flag = true;   //  현재 문자열이 keypad에 포함된 문자로 이루어져 있는지 확인하기 위한 플래그를 초기화
            // 문자열을 char 배열로 변환하여 각 문자에 접근
            for(char cur : target.toCharArray()) {
                // 만약 현재 문자가 keypad에 포함되어 있다면 해당 문자의 최소 인덱스를 더해준다.
                if(keypad.containsKey(cur)) {
                    count += keypad.get(cur);
                }
                else {  // keypad에 해당 문자가 없다면 flag를 false로 설정하고 종료
                    flag = false;
                    break;
                }
            }
            // flag가 false일 경우엔 -1 반환, true일 경우엔 count 반환
            answer[i] = flag == false ? -1 : count;
        }
            
            
        return answer;
    }
}

 

각 문자에 따른 인덱스 값이 필요하기 때문에 HashMap을 사용했습신다.

그리고 최소값을 더해야하니까 굳이 중복된 문자 중에 뒤에 나온 것을 쓸 필요가 없습니다.

value값은 중복 가능하기 때문에 key값만 다르다면 괜찮습니다.

 

targets의 문자열을 keymap에 있는 문자로 만들 수 없는 경우엔

boolean 타입 flag를 만들어 answer에 값을 넣을 때 이용합니다.

 

 

 

🔍 다른 사람의 풀이

class Solution {
    public boolean solution(int x) {
        int sum = 0;
        int n = x;
        
        while (n != 0) {
            sum += n % 10;   // 각 자릿수 구해서 sum 에 더하기
            n /= 10;   // 다음 자릿수로 넘어가기
        }
        
        return x % sum == 0? true : false;
    }
}

 

 

 


 

 

5️⃣ 완주하지 못한 선수

문제 설명

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.

제한사항

  • 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
  • completion의 길이는 participant의 길이보다 1 작습니다.
  • 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
  • 참가자 중에는 동명이인이 있을 수 있습니다.

입출력 예

participant completion return
["leo", "kiki", "eden"] ["eden", "kiki"] "leo"
["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "filipa", "marina", "nikola"] "vinko"
["mislav", "stanko", "mislav", "ana"] ["stanko", "ana", "mislav"] "mislav"

 

예제 #1
"leo"는 참여자 명단에는 있지만, 완주자 명단에는 없기 때문에 완주하지 못했습니다.

 

예제 #2
"vinko"는 참여자 명단에는 있지만, 완주자 명단에는 없기 때문에 완주하지 못했습니다.

 

예제 #3
"mislav"는 참여자 명단에는 두 명이 있지만, 완주자 명단에는 한 명밖에 없기 때문에 한명은 완주하지 못했습니다.

 

 

 

💻 나의 풀이

class Solution {
    public boolean solution(int x) {
        int sum = 0;
        int n = x;
        
        while (n != 0) {
            sum += n % 10;   // 각 자릿수 구해서 sum 에 더하기
            n /= 10;   // 다음 자릿수로 넘어가기
        }
        
        return x % sum == 0? true : false;
    }
}

 

Participant 배열에는 N명의 참가자의 이름이 있고, Completion 배열에는 N-1명의 완주자 이름이 있습니다. 그 나머지 한 명을 찾으면 됩니다.

아주 간단한 문제인데 어떻게 코드로 짜면 좋을지 고민했습니다.

해시를 사용한 문제라고 나와있으니 해시를 사용해봅시다..!

 

  • HashMap을 만들어줍니다. HashMap<이름, 횟수> 이기 때문에 HashMap<String, Integer> 가 되겠습니다.
  • HashMap에 put()을 통해 Participant를 전부 추가해줍니다.
  • Participant의 count를 세어놓고, 완주한 사람들은 value를 1씩 빼는 동작을 합니다. 그러면 남아있는 한 사람이 완주하지 못한 선수가 됩니다.
  • HashMap.getOrDefault('B', 0)
    • 이 함수는 'B'라는 Key에 해당하는 Value가 있으면 가져오고
    • 아닐 경우 0을 지정하여 사용하겠다는 뜻입니다.
  • 완주자 completion 목록을 순회하면서 HashMap에 있는 참가자의 횟수를 감소시킵니다.
  • HashMap을 순회하면서 값이 0이 아닌 참가자를 찾을건데, 먼저 HashMap을 순회하기 위해 iterator를 생성합니다.
  • 참가자의 횟수가 0이 아니라면 해당 참가자를 정답으로 지정하고 반복문을 종료합니다.
💡 Iterator
Java에서 컬렉션(Collection)을 순회(traverse)하면서 요소에 접근하기 위한 인터페이스입니다.

hasNext() :
다음 요소가 있는지 확인합니다. 만약 다음 요소가 있다면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
next() :
다음 요소를 반환합니다. 이 메서드를 호출하기 전에 hasNext()를 사용하여 다음 요소가 있는지 확인하는 것이 좋습니다.
remove() :
Iterator가 가리키는 현재 요소를 삭제합니다. 일부 컬렉션에서는 이 메서드를 지원하지 않을 수 있습니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함