CodeGym /Java Blog /무작위의 /올드 레벨 07
John Squirrels
레벨 41
San Francisco

올드 레벨 07

무작위의 그룹에 게시되었습니다

정보 기술

이전 레벨 07 - 120세기 말에 시작된 컴퓨터 혁명은 90년대에 인터넷(웹)을 탄생시켰습니다. 그리고 그것은 더 큰 혁명의 시작이었습니다. 인터넷 생성의 효과는 산업화와 같습니다. 그러나 가장 재미있는 것은 이 프로세스가 이제 막 시작되었다는 것입니다.

새로운 세계

사이트 수량은 2억 개가 넘습니다. 30억 명의 인터넷 사용자가 있습니다. 인터넷 경매, 웹사이트, 온라인 상점, 인터넷 서비스. 정보 기술 산업은 매년 20%-30% 성장합니다. 엄청난 요금입니다. 그리고 계속 성장하고 있습니다. 지난 10년 동안 세계 첨단 산업의 중심지인 실리콘 밸리에서 2개월마다 회사가 만들어지고, 그 후 수십억 달러의 비용이 듭니다. Facebook(2,200억 달러), Amazon(1,400억 달러), Google(3,500억 달러)과 같은 인터넷 스타는 말할 것도 없습니다. 인터넷이 없다면 이 모든 회사는 나타나지 않을 것입니다. 이 모든 것이 IT 전문가에 대한 높은 수요로 이어집니다. 세계 하이테크 산업에는 소프트웨어 개발자, 설계자, QA 테스터, 설계자, 관리자, 시스템 관리자 및 기타 전문가가 필요합니다.

IT 전문가가 되는 것이 좋습니다.

이전 레벨 07 - 2IT 전문가라면 지금이 황금기입니다. 큰 회사에서 일하고 작은 마을에 살거나 외국 회사에서 일할 수 있습니다. 예를 들어 EU보다 2배 적게 벌 수 있지만 현지 노동 시장보다 3-10배 더 많이 벌 수 있습니다. 마을이 작을수록 차이가 커집니다. 귀중한 경험, 좋은 돈, 밝은 미래를 얻게 될 것입니다. 때때로 당신은 고용주 사무실로 출장을 갈 것입니다. 그리고 당신이 그것을 많이 좋아한다면, 당신은 그곳으로 이전할 수 있습니다. 밀물은 모든 배를 들어 올립니다. 적시에 적소에 있는 그런 배는 왜 없을까요? 이것도 예술입니다.

당신은 새로운 수준에 도달했습니다

7레벨

이전 레벨 07 - 3

1 엘리, 어레이

- 이봐, 아미고! - 무슨 일이야, 엘리? - 오늘은 새롭고 흥미로운 엔티티인 배열에 대해 말씀드리겠습니다. 배열은 둘 이상의 값을 저장할 수 있는 특수 데이터 유형입니다. 이전 레벨 07 - 4- 유추부터 시작하겠습니다. 일반 주택과 고층 주택을 비교해 봅시다. 집은 한 가족이 거주하는 반면 고층 건물은 아파트로 나뉩니다. 집에 사는 가족에게 편지를 쓰려면 고유한 주소를 지정해야 합니다. 아파트에 거주하는 가족의 경우 아파트 번호를 추가로 지정해야 합니다. - 그래, 그건 분명해. - 그래서 배열변수는 고층빌딩과 같습니다. 여러 값을 저장할 수 있습니다. 이러한 변수에는 일부 아파트(셀)가 있습니다. 각 아파트는 해당 번호(색인)로 액세스할 수 있습니다.이렇게 하려면 대괄호로 묶인 변수 이름 뒤에 액세스한 셀의 인덱스를 지정해야 합니다. 꽤 간단합니다. - 나는 희망한다. - 배열변수(고층빌딩)는 어떤 타입이든 상관없으니 TypeName[] variable_name그냥 TypeName variable_name. - 다음은 배열로 수행할 수 있는 작업의 예입니다. 이전 레벨 07 - 5- 정말 흥미진진합니다! - 배열 변수는 추가 초기화가 필요합니다. - 왜 그래? - 일반적인 변수는 선언 직후에 사용할 수 있습니다. 배열의 경우 조금 더 복잡합니다. - 먼저 N개의 요소로 구성된 컨테이너를 만든 다음 여기에 값을 배치할 수 있습니다. 이전 레벨 07 - 6- 네. 이제 더 명확해집니다. - 배열에 대한 기본 사항 :
  1. 배열은 여러 셀로 구성됩니다.
  2. 모든 셀은 번호를 표시하여 액세스합니다.
  3. 모든 셀은 동일한 유형입니다.
  4. n개 요소의 배열에서 셀의 인덱스는 0,1,2,...,n-1입니다. 배열에 인덱스가 n인 셀이 없습니다.
  5. 모든 셀의 초기 값은 null이며 기본 유형의 경우 – 0, 분수 유형의 경우 0.0, 부울 유형의 경우 false입니다. 초기화되지 않은 간단한 변수와 동일합니다.
  6. String[] 목록은 변수 선언일 뿐입니다. 먼저 배열(컨테이너)을 만들어 변수에 넣은 다음 사용해야 합니다. 아래 예를 참조하십시오.
  7. 개체 배열(컨테이너)을 만들 때 길이(포함할 셀 수)를 지정해야 합니다. 이렇게 하려면 명령을 작성해야 합니다. TypeName은 배열의 셀에 저장될 값의 유형입니다.new TypeName[n];
이전 레벨 07 - 7- 예: 이전 레벨 07 - 8

2 Risha, 메모리 배열 배열

- 이봐, 아미고! 모든 것이 메모리에서 어떻게 작동하는지 보여 드리겠습니다. 이전 레벨 07 - 9- 이 345는 무엇입니까? - 사실 공중에서 뽑았지만, 보통은 «Stop»이라는 단어가 포함된 문자열의 주소입니다. - 배열의 경우 좀 더 복잡합니다.
이전 레벨 07 - 10
- 155,166,177도 오른쪽에 있는 문자열의 주소를 나타내는 모자에서 빼낸 숫자인가요? - 네. 당신이 그것을 추측하는 것이 좋습니다. 두 번째 그림에는 10개의 셀 배열인 추가 개체가 있습니다. - 감사합니다. 그림은 천 단어의 가치가 있습니다. 고마워, 리샤.

3 Risha, 배열의 예 배열

- 배열로 할 수 있는 흥미로운 일의 몇 가지 예를 제시하고자 합니다. 예 1. 이전 레벨 07 - 11예 2. 이전 레벨 07 - 12예 3. 이전 레벨 07 - 13예 4. 이전 레벨 07 - 14예 5. 이전 레벨 07 - 15

4 Diego, 어레이 생성 및 사용 작업

- 이봐, 아미고! 다음은 몇 가지 작업입니다.
작업
1 1. 최대 20개 숫자 배열 1. initializeArray()
메서드에서 : 1.1. 20개의 숫자 배열 만들기 1.2. 키보드에서 20개의 숫자를 읽고 배열을 2로 채웁니다. max(int[] array) 메서드는 배열 요소의 최대 수를 찾아야 합니다.



2

2. 역순 문자열 배열
1. 문자열 10개의 배열을 만듭니다.
2. 키보드에서 8개의 문자열을 읽고 배열에 저장합니다.
3. 전체 배열(10개 항목)의 내용을 역순으로 화면에 표시합니다. 각 항목은 새 줄에 있어야 합니다.

3. 2개의 배열
1. 10개의 문자열로 구성된 하나의 배열을 만듭니다.
2. 10개의 숫자로 구성된 다른 배열을 만듭니다.
3. 키보드에서 10개의 문자열을 읽고 문자열 배열을 채웁니다.
4. 문자열 배열의 각 셀에서 문자열의 길이를 동일한 색인을 가진 숫자 배열의 셀에 씁니다. 숫자 배열의 내용을 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다.
4 4. 역순 숫자 배열
1. 10개의 숫자 배열을 만듭니다.
2. 키보드에서 10개의 숫자를 읽고 배열에 저장합니다.
3. 배열 요소를 역순으로 배열합니다.
4. 결과를 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다.
5 5. 하나의 큰 배열과 두 개의 작은 배열
1. 20개의 숫자 배열을 만듭니다.
2. 키보드에서 20개의 숫자를 읽고 배열을 채웁니다.
3. 각각 10개의 숫자로 구성된 두 개의 배열을 만듭니다.
4. 큰 배열의 숫자를 두 개의 작은 배열에 복사합니다. 숫자의 절반은 첫 번째 배열에, 나머지 절반은 두 번째 배열에 복사합니다.
5. 두 번째 작은 배열을 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다.

5 엘리, ArrayList 대 Array

- 나야. - 안녕, 엘리! - 오늘 우리는 새롭고 흥미로운 주제를 가지고 있습니다! 이제 흥미로운 새 클래스인 ArrayList 에 대해 말씀드리겠습니다 . - 오, 새로운 수업? 우와! 무엇을합니까? - 약간의 뒷이야기부터 시작하겠습니다. 프로그래머는 배열의 한 속성을 좋아하지 않았습니다. 크기를 변경할 수 없습니다. 배열에 세 개의 항목을 더 저장하고 싶지만 여유 공간이 하나만 있는 경우 어떻게 해야 합니까? - 공간 부족 문제에 대한 유일한 해결책은 모든 요소를 ​​포함하는 매우 큰 배열을 만드는 것이었습니다. 그러나 이것은 종종 비효율적인 메모리 사용으로 이어졌습니다. 예를 들어 배열 수명의 99%에서 배열에 3개의 요소만 저장해야 하고 1% - 100개의 요소만 저장해야 하는 경우 100개 요소의 배열을 만들어야 합니다. -그래서 프로그래머는 무엇을 생각해 냈습니까? - Array와 동일한 작업을 수행하지만 크기는 다를 수 있는 ArrayList 클래스를 작성했습니다 . - 흥미로운 움직임. 그리고 그들은 그것을 어떻게 했습니까? - 모든 ArrayList 객체는 내부에 일반적인 요소 배열을 저장합니다. ArrayList 에서 요소를 읽으면 내부 배열에서 읽습니다. 요소를 쓰면 내부 배열에 씁니다. 비교: 이전 레벨 07 - 16- 그렇다면 ArrayList의 장점은 무엇입니까? 저는 코드가 길어졌습니다. - 첫째, ArrayList는 프로그래머가 자주 사용하는 배열에는 없는 몇 가지 추가 기능을 지원합니다. 예를 들어,구멍을 남기지 않고 배열의 중간에서 요소를 삽입하고 삭제합니다. - 둘째, ArrayList는 크기를 변경할 수 있습니다 . ArrayList가 내부 배열에 하나 이상의 요소를 저장해야 하고 여유 공간이 없으면 ArrayList 내부에서 다음이 발생 합니다 .
  1. 또 다른 하나의 어레이가 생성되는데, 이는 두 배 크기입니다.
  2. 이전 배열의 모든 요소가 새 배열로 복사됩니다.
  3. 새 배열은 ArrayList 개체의 내부 변수에 저장되고 이전 배열은 쓰레기로 선언됩니다 (더 이상 해당 참조를 저장하지 않음).
이전 레벨 07 - 17그리고 ArrayList로 작업하는 방법은 무엇입니까? - 실제로 배열과 같은 방식입니다. 이봐. ArrayList 작업을 비교 하고 배열 작업을 해 봅시다 . 예를 들어, 다음 작업을 해결해 보겠습니다. « 프로그램은 키보드 10 문자열을 읽고 역순으로 화면에 표시해야 합니다 ». - 다음을 확인하십시오. 이전 레벨 07 - 18- 두 열에서 동일한 작업을 한 가지 색상으로 그렸습니다. - 다른 것 같지만 자세히 보면 다 똑같다. - 네. 이제 ArrayList 를 사용할 때 대괄호가 없습니다 . 대신 get , setadd 메서드를 사용합니다 . - 알아차렸어. 그러나 여전히 매우 유사합니다.

6 디에고, ArrayList 작업

- 또 아무것도 안 하고 있어? 당신은 로봇, 그렇지? 로봇은 항상 바쁘다. 다음은 귀하를 유지하기 위한 몇 가지 작업입니다. 그러나 몇 가지 팁부터 시작하겠습니다. - 팁 1: 목록은 일반적으로 ArrayList 를 의미합니다 . - 팁 2: 문자열은 String 유형을 의미합니다 . - 팁 3: 문자열 목록을 생성하려면 가장 일반적으로 ArrayList<String> list = new ArrayList<String>();
작업
1 작업 1. 목록에 있는 5개의 다른 문자열
1. 문자열 목록을 만듭니다.
2. 목록에 5개의 다른 문자열을 추가합니다.
3. 화면에 크기를 표시합니다.
4. 목록의 내용을 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다. 루프를 사용하십시오.
2 작업 2. 5줄: «101», «102», «103», «104», «105»
1. 문자열 목록을 만듭니다.
2. 목록에 문자열 5개를 추가합니다. «101», «102», «103», «104», «105».
3. 첫 번째, 중간 및 마지막 것을 삭제하십시오.
4. 목록의 내용을 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다. 루프를 사용하십시오.
5. 화면에 크기를 표시합니다. (하나의 항목을 삭제하면 다른 항목의 색인이 변경됩니다. 예를 들어 첫 번째 항목을 삭제하면 두 번째 항목이 첫 번째 항목이 됩니다.)
작업 3. 역순으로 5줄
1. 문자열 목록을 만듭니다.
2. 키보드에서 5개의 문자열을 읽은 다음 목록에 추가합니다.
3. 역순으로 정렬합니다.
4. 목록의 내용을 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다. 루프를 사용하십시오.
4

작업 4. 목록 시작 부분에 문자열 5개 추가
1. 문자열 목록을 만듭니다.
2. 키보드에서 5개의 문자열을 읽습니다. 이 문자열을 목록의 끝이 아니라 시작 부분에 추가하십시오.
3. 목록의 내용을 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다. 루프를 사용하십시오.

5 작업 5. 마지막 문자열을 삭제하고 목록의 시작 부분에 추가합니다.
1. 문자열 목록을 만듭니다.
2. 키보드에서 5개의 문자열을 읽습니다. 이 문자열을 목록에 추가하십시오.
3. 마지막 문자열을 삭제하고 목록의 시작 부분에 추가합니다. 이 동작을 13회 반복합니다.
4. 목록의 내용을 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다. 루프를 사용하십시오.

7 리샤, 제네릭

- 이제 또 다른 멋진 주제입니다. - 오늘은 놀라움으로 가득 차 있습니다. 진짜 생일 같아요. - 오늘은 제네릭이 무엇인지 알려드리겠습니다. 제네릭은 매개변수가 있는 유형입니다. Java에서 컨테이너 클래스를 사용하면 내부 개체의 유형을 지정할 수 있습니다 . - 일반 변수를 선언할 때 하나가 아닌 두 가지 유형, 즉 변수 유형과 변수에 저장된 데이터 유형을 지정합니다. 이에 대한 좋은 예가 ArrayList입니다. ArrayList 유형의 새 객체/변수를 생성할 때 목록에 저장할 값의 유형을 지정하는 것도 좋습니다. 이전 레벨 07 - 19- 흥미진진하게 들리네요. 나는 당신이 모든 유형에 대해 말한 것을 특히 좋아했습니다 . - 그냥 좋은 것 같습니다. 실제로 한 메서드에서 문자열이 ArrayList에 배치되고 다른 메서드에서 해당 내용으로 작업하고 숫자만 있을 것으로 예상하면 프로그램이 충돌합니다. - 알겠어요. - 지금까지는 유형 매개변수를 사용하여 자체 클래스를 만들지 않고 Java 제작자가 작성한 클래스를 사용하는 방법을 배웁니다. - 직접 작성한 클래스를 포함하여 모든 클래스를 유형 매개변수로 사용할 수 있습니까? - 예, 기본 유형을 제외한 모든 유형입니다. 모든 클래스 매개변수는 Object 클래스에서 상속되어야 합니다. - ArrayList<int> 를 작성할 수 없습니까 ? - 당신은 할 수 없습니다. 그러나 Java 개발자는 원시 유형에 대해 기본이 아닌 유사 항목(에서 상속된 클래스)을 작성했습니다.개체 . 다음과 같이 표시됩니다. 이전 레벨 07 - 20- 기본 유형과 아날로그 클래스(래퍼 클래스)는 서로 쉽게 할당할 수 있습니다. 이전 레벨 07 - 21- 좋습니다. 그러면 ArrayList를 더 자주 사용하게 될 것 같습니다.

8 Risha, ArrayList의 예, 제네릭

이전 레벨 07 - 22- 이제 정말 유용한 것들을 알려드리겠습니다. 다음은 ArrayList 및 제네릭으로 작업할 수 있는 몇 가지 편리한 예입니다. - 예 1. 이전 레벨 07 - 23- 예 2. 이전 레벨 07 - 24- 예 3. 이전 레벨 07 - 25- 예 4. 이전 레벨 07 - 26- 예 5. 이전 레벨 07 - 27- 굉장합니다! 그래서, 디에고는 이제 저에게 비슷한 일을 많이 줄 것입니다, 그렇죠? - 그래!

9 Diego, List<T> 작업

- 마침내 당신은 자유입니다. 나는 당신을 위해 이러한 작업을 염두에 두는 데 지쳤습니다. 다음은 귀하를 유지하기 위한 몇 가지 추가 사항입니다.
Intellij Idea에서 수행할 추가 작업
1 1. 3개의 배열
1. 키보드에서 20개의 숫자를 읽고 목록에 저장한 다음 3개의 다른 목록으로 정렬합니다.
목록 1은 3으로 나누어지는 숫자를 저장합니다( x%3==0 )
목록 2는 2로 나누어지는 숫자를 저장합니다( x%2==0 )
목록 3은 나머지 숫자를 저장합니다.
동시에 3과 2로 나눌 수 있는 숫자(예: 6)는 목록 1과 목록 2 모두에 속합니다. 2. printList()
메서드는 목록의 각 요소를 새 줄에 표시해야 합니다. 3. printList() 메서드를 사용하여 이 세 목록을 화면에 표시합니다. 먼저 목록 1이 표시된 다음 목록 2, 그 다음 목록 3이 표시되어야 합니다.
2 2. 역순으로 5단어
키보드에서 5단어를 읽습니다. 문자열 목록에 추가하고 역순으로 화면에 표시합니다.
3. «here»라는 단어
1. «stop», «look», «listen» 단어 목록을 만듭니다.
2. 각 단어 뒤에 «here»가 포함된 문자열을 추가합니다.
3. 결과를 표시합니다. 목록의 각 요소는 새 줄에 있어야 합니다. "for" 루프를 사용하십시오.
4 4. 문자 «r» 및 «l»
1. 단어/문자열 목록을 만들고 원하는 대로 채웁니다. 2. fix()
메서드는 다음과 같아야 합니다. 2.1. 문자열 목록에서 문자 «r»을 포함하는 모든 단어 삭제 2.2. 문자 «l»을 포함하는 모든 단어를 두 배로 만듭니다. 2.3. 문자 «r»과 «l»이 모두 포함된 경우 단어를 변경하지 않고 그대로 둡니다. 2.4. 다른 단어로 아무것도하지 마십시오. 예: 버드 나무 거문고 나무 출력 ​​데이터: 버드 나무 거문고 나무















5 5. 단어 복제
1. 키보드에서 10개의 단어/문자열을 읽고 문자열 목록에 추가합니다.
2. doubleValues ​​메서드는
a,b,c → a,a,b,b,c,c 패턴에 따라 단어를 복제해야 합니다.
3. 결과를 표시합니다. 목록의 각 요소는 새 줄에 있어야 합니다. "for" 루프를 사용하십시오.

10 교수

이전 레벨 07 - 28- 멋진 강의를 찾았어요! 따라서 오늘 여러분은 배열과 목록에 대한 가장 귀중한 지식을 얻게 될 것입니다. 다음은 Java의 ArrayList에 대한 팁 입니다.

11 훌리오

- 이봐, 아미고! 당신이 이 모든 것을 잘 이겨내서 기쁩니다. 당신은 보상을 받을 자격이 있습니다.

12 다람쥐 선장

-안녕하세요, 군인! - 좋은 아침입니다! - 멋진 소식이 있습니다. 다음은 기술을 강화하기 위한 빠른 확인입니다. 매일 하세요, 그러면 당신의 기술이 정말 빠르게 향상될 것입니다. 작업은 Intellij IDEA에서 수행하도록 특별히 설계되었습니다.
Intellij Idea에서 수행할 추가 작업
1 1. 숫자를 역순으로 표시
키보드에서 10개의 숫자를 읽고 목록을 채웁니다.
숫자를 역순으로 화면에 표시합니다. 루프를 사용하십시오.
2 2. 첫 번째 M 줄을 목록의 끝으로 이동합니다.
키보드에서 2개의 숫자를 읽습니다: NM . 키보드 N
개의 문자열을 읽고 목록을 채웁니다. 첫 번째 M 줄을 목록의 끝으로 이동 목록을 화면에 표시합니다. 각 값은 새 줄에 있어야 합니다.

3. 배열에서 가장 큰 숫자와 가장 작은
숫자 20개의 숫자 배열을 만듭니다.
키보드에서 읽은 숫자로 채웁니다.
배열에서 가장 큰 수와 가장 작은 수를 찾습니다.
공백으로 구분된 가장 큰 숫자와 가장 작은 숫자를 화면에 표시합니다.
4 4. 사용자가 문자열 "end"를 입력할 때까지 키보드에서 문자열을 읽습니다.
문자열 목록을 만듭니다.
키보드 문자열에서 읽고(원하는 대로) 목록에 추가합니다.
사용자가 문자열 "end"를 입력할 때까지 키보드에서 문자열을 읽습니다. "종료"는 생략해야 합니다.
문자열을 화면에 표시합니다. 각 문자열은 새 줄에 있어야 합니다.
5 5. 뱅!
30에서 0까지 카운트다운하고 «Bang!»을 표시하는 프로그램을 작성하세요. 마지막에. 프로그램은 초당 10번 숫자를 줄여야 합니다. 지연을 삽입하려면 아래 함수를 사용하십시오.
Thread.sleep(100); //10분의 1초 지연.
예:
30
29

1
0
뱅!
6 6. Family 다음 필드가 있는 Human 클래스를
만듭니다 . String name , boolean sex , int age , Human father , Human mother . Human 클래스의 객체 9개를 생성하고 두 명의 할아버지, 두 명의 할머니, 한 명의 아버지, 한 명의 어머니, 세 명의 자녀를 얻도록 채우십시오. 화면에 객체를 화면에 표시합니다. 팁: 메서드 String toString()을 Human 클래스에 작성하면 개체를 표시하는 데 사용됩니다. 출력 예: 이름: Anna, 성별: 여성, 나이: 21, 아버지: Paul, 어머니: Kate 이름: Kate, 성별: 여성, 나이: 55





이름: 이안, 성별: 남, 나이: 2, 아버지: 마이클, 어머니: 안나
7 7. 정적 수정자 하나 이동
프로그램이 컴파일되도록 정적 수정자 하나를 이동합니다.
- 그 임무는 그린을 위한 것이었다. 더 복잡한 보너스 작업을 추가했습니다. 탑건 전용.
보너스 작업
1 1. 프로그램이 컴파일 및 실행되지 않습니다. 고쳐.
작업: 키보드에서 고양이 데이터를 읽고 화면에 표시합니다.
예:
고양이 이름은 Jinx, 나이는 6, 몸무게는 5, 꼬리 = 22
고양이 이름은 Maisy, 나이는 8, 몸무게는 7, 꼬리 = 20
2 2. 프로그램에 새로운 기능을 추가합니다.
이전 작업: 프로그램은 사용자가 Enter 키를 눌러 빈 줄을 입력할 때까지 문자열을 읽습니다. 그런 다음 소문자를 대문자로 변환(엄마가 엄마로 바꿈)하여 화면에 표시합니다.
새 작업: 프로그램은 사용자가 Enter 키를 눌러 빈 줄을 입력할 때까지 문자열을 읽어야 합니다. 그런 다음 프로그램은 새 목록을 작성합니다. 문자열의 문자 수가 짝수이면 문자열이 중복되고 홀수이면 문자열이 세 배가 됩니다.
입력 예:
Cat
Cats
Me
출력 예:
Cat Cat Cat
Cats Cats
Me Me
3. 알고리즘 학습 및 실습.
키보드에서 20개의 숫자를 읽고 내림차순으로 표시합니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION