본문 바로가기

JAVA

Lv1. 랜덤 닉네임 생성기

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Main {
    public static void main(String[] args) {
        List<String> list1 = new ArrayList<>();
        list1.add("기절초풍");
        list1.add("멋있는");
        list1.add("재미있는");

        List<String> list2 = new ArrayList<>();
        list2.add("도전적인");
        list2.add("노란색의");
        list2.add("바보같은");

        List<String> list3 = new ArrayList<>();
        list3.add("돌고래");
        list3.add("개발자");
        list3.add("오랑우탄");

        List<String> nameList = new ArrayList<>();

        for (int i = 0; i < 3; i++){
            for (int j = 0; j < 3; j++){
                for (int k = 0; k < 3; k++){
                    String nickName = list1.get(i) + " " +list2.get(j) + " " + list3.get(k);
                    nameList.add(nickName);
                }
            }
        }

        Random random = new Random();
        int randNumber = random.nextInt(28);

        System.out.print(nameList.get(randNumber));
    }
}

 

 

자바 List

 

  • ArrayList
    • 내부에서 배열을 사용.
    • 조회가 빠름.
    • 삽입/삭제는 느릴 수 있음.
  • LinkedList
    • 내부에서 연결 리스트를 사용.
    • 삽입/삭제가 빠름.
    • 조회는 느릴 수 있음.
import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        // 리스트 생성
        List<String> list = new ArrayList<>();

        // 값 추가
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        // 값 조회
        System.out.println("첫 번째 과일: " + list.get(0)); // Apple

        // 값 삭제
        list.remove("Banana");

        // 전체 출력
        System.out.println("현재 리스트:");
        for (String item : list) {
            System.out.println(item);
        }

        // 크기 확인
        System.out.println("리스트 크기: " + list.size());
        
        //리스트에 값이 들어있는지 확인
        if (list.contains("Apple")) {
    	System.out.println("Apple이 리스트에 있습니다.");
        
        //인덱스 값으로 조회하기
        String fruit = list.get(1);
}
    }
}

 

 

자바 rand

import java.util.Random;

Random random = new Random();

// 0 ~ 9 정수 생성
int randomInt = random.nextInt(10);
System.out.println(randomInt);

// 0.0 이상 1.0 미만의 실수
double randomDouble = random.nextDouble();
System.out.println(randomDouble);

// 특정 범위의 정수
int min = 5, max = 15;
int randomInRange = random.nextInt(max - min + 1) + min;
System.out.println(randomInRange);

 

고민했던 점

일단 for 문 3개를 돌려서 저렇게 리스트를 만드는 것이 과연 제일 효율적인 것인지 고민했다. 아무리 그래도 시간복잡도가 너무 과하게 많은 것은 아닌가 싶은 생각이 들었다. 

'JAVA' 카테고리의 다른 글

보너스 문제: 가위 바위 보  (0) 2024.12.17
Lv3. 단어 맞추기 게임  (2) 2024.12.16
Lv2. 스파르타 자판기  (3) 2024.12.14
JAVA와 Spring 특징  (0) 2024.12.11
반복문 연습하기  (0) 2024.12.11