옹실이의 개발이야기

분류 전체보기 46

Java 구구단 : 이중 for문을 이용한 구구단

면접보러 가면 종종 들어오는 질문 중 하나가 구구단이라는 얘기를 들었다. 얘기 들었을 때 구구단..? 어떻게 하는거였더라 생각들었는데 막상 해보니 정말 별 거 없었다.... 구구단의 원리를 생각해보고 코드를 작성해보았는데 이중 for문으로 아주 간단하게 구현할 수 있었다. 이렇게 구구단을 1단부터 9단까지 구한다고 했을 때 1 X 1 = 1 1 X 2 = 2 ... 2 X 1 = 1 2 X 2 = 4 ... 1단 ~ 9단 -> 1부터 9까지 증가하는 변수 1개 필요 단별로 1부터 9까지 곱해짐 -> 1부터 9까지 증가하는 변수 1개 필요 단을 표시하는 변수를 a, 단별로 곱해지는 수를 변수 b로 놓고 코드를 작성했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ..

Java 2020.11.23

Java 별찍기 : 이중 for문을 활용한 별(*) 찍기

for문 공부를 위해 많이들 한다는 별찍기를 복습해보았다. 이중 for문으로 행과 열을 구분해 총 4가지 모양의 별을 찍었다. 먼저 본격적인 별찍기에 앞서 준비물(?)로 String 타입의 공백 " "과 "*" 변수가 필요했다. 1 2 3 String str1 = " "; String str2 = "*"; cs 1. 왼쪽으로 치우친 별 찍기(1개씩 증가) * * * * * * * * * * 1개씩 늘어나는 별찍기는 공백을 사용하지 않아도 돼서 간단하다. 1 2 3 4 5 6 7 8 void m1(){ for(int i=1; i

Java 2020.11.19

JavaScript 변수 : var/let/const 차이점

JavaScript를 사용할 때 변수 선언시 주로 var, let를 많이 썼었는데 JavaScript 변수로는 var, let, const 이렇게 3가지가 있다는 것을 알게 되었다. 각각의 차이점은 무엇일까? 차이점에 대해 알아보기에 앞서, 호이스팅(Hoisting)이란 것에 대해 알아둘 필요가 있다. 호이스팅(Hoisting) 변수는 선언 > 초기화 > 할당 3단계에 걸쳐 생성되는데, 호이스트(Hoist)란 변수의 정의가 범위에 따라 선언/초기화/할당이 분리되는 것을 의미한다. 변수를 생성할 때 먼저, Scope에 변수가 등록된 후 선언을 통해 변수를 위한 공간이 확보된다. 그리고 변수를 undefined로 초기화 한다. 그런 다음 할당문에 도달하여 값이 할당 되었을 때 값이 정상적으로 출력되게 된다...

JavaScript 2020.11.16

Java 퀴즈 : 주어진 시간동안 문제 맞추는 O,X 퀴즈(멀티 쓰레드 활용)

Java의 IO, 멀티 쓰레드를 활용한 퀴즈 프로그램을 만들어보았다. 멀티 쓰레드는 시간 체크용(10초)으로 활용, Task라는 별도의 java 파일을 만들어 구현했다. * 게임 방식 * 1인당 10초동안 주어진 10개의 문제를 많이 맞추는 사람이 이기는 방식 1. 팀 이름을 입력받은 후 2. 문제 리스트(단어로 나와있음) 파일 가져와서 랜덤으로 문제 출제 3. 맞추면 O, 틀리면 X 를 입력받아 O일때만 1점 점수 획득 4. 다음 사람을 위해 맞춘 문제는 원본 파일 리스트에서 삭제된다. 5. 주어진 시간은 10초이며, 10초가 되면 문제가 다 출제되지 않았더라도 프로그램은 자동 종료된다. 1. 팀 이름 입력받기 팀 이름을 System.in으로 입력받고 System.out으로 팀 이름을 다시 확인시켜주었..

Java 2020.11.11

Java 멀티로또 : 명단파일, 숫자 입력받아서 숫자만큼 랜덤 뽑기

Java 로또 심화 버전! 랜덤으로 뽑을 명단 파일, 몇명 뽑을지 숫자 입력받아서 입력받은 수만큼 랜덤 뽑기 명단 파일을 받겠다고 했지만, 사실 파일을 직접 입력할 수 있다는 것을 보여주기 위해 입력받는 것일 뿐 기준은 '우리반리스트.txt'라는 파일로 코딩했다. * 순서 * 1. 파일 불러오기 : 엔터만 쳤을때 자동으로 우리반리스트 파일이름 넣기 2. 불러온 파일 읽고, 배열에 담기. 3. 리스트에서 몇명 뽑을건지 값 받기 4. 받은 수만큼 랜덤 뽑기 ( 중복방지 : TreeSet 이용(TreeSet 사이즈가 받은 값보다 작으면 다시 반복) ) 1. 파일 불러오기 : 엔터만 쳤을때 자동으로 우리반리스트 파일이름 넣기 아무것도 입력 안하고 엔터쳤을 때 : '우리반리스트.txt'라는 파일로 적용되고, 직접..

Java 2020.11.09

Java 로또 : 랜덤으로 1개 뽑기

Java 로또 : 랜덤으로 1개 뽑기메모장에 사람들 이름이 1줄에 1개씩 총 23개의 이름 리스트가 있다고 할 때,이 중에서 한 명만 랜덤으로 뽑으려면 다음 작업이 필요하다. 1.랜덤수를 발생한다. 2.명단을 읽으면서 해당 랜덤수까지만 반복문 돌린다3.당첨자만 출력한다 1. 랜덤수 만든다. 1234567891011121314151617import java.util.*;import java.io.*; class Lotto { String fname = "우리반명단.txt"; Random r = new Random(); int count = 23; int i; //i는 메소드 안에서도 써야하니까 멤버변수로 빼준다 Lotto(){ i = r.nextInt(count); System.out.println("i:..

Java 2020.11.08