https://codeup.kr/problem.php?id=1430
코드업
코드업은 프로그래밍을 배우고 싶은 사람들을 위한 온라인 학습 플랫폼입니다.
codeup.kr
여기에 있는 문제를 풀어보았다 아직 파이썬 문법이 익숙하지 않아서 일단 자바로 먼저 풀어보았다
일단 문제를 읽었을때 이해 안되는 부분이 있어서 고민이 되었다
문제풀이 방법
1. 내가 이해한 대로 한글로 적어보기
- 주현이가 기억할 여러개의 숫자 입력
- 주현이가 기억하는지 확인할 숫자 여러개입력
- 주현이가 기억하는 숫자가 있으면 1 없으면 0
2. 어떤방식을 사용하면 좋을지 한글로 적기
- 스캐너 사용하면 될것같음 -> 여러개 입력 못하니까 배열로 넣는게 맞는거 같음
- 랜드넘 사용해서 숫자 무작위로 출력
- 2번 에서 랜드넘 사용했으니까 랜드넘과 1번 배열의 숫자확인후 결과출력
입력예시 보고 확인하기
첫번째 줄 숫자개수표시 -> 이거는 스캐너 사용가능할거 같음
두번째줄 실제 주현이가 기억해야하는 숫자 여러개 -> 배열 사용하면 좋을거 같음
세번째줄 주현이 한테 물어볼 숫자 개수 출력 -> 스캐너 사용가능 할것같음
네번째 줄 실제 주현이 한테 물어볼 숫자 여러개 -> 두번째줄에 있는 배열에 해당숫자가 있는지 확인하기
다섯번째 맞으면 1 출력, 아니면 0출력
3.일단 생각나는대로 코딩하기
//외울 숫자개수 입력하기
scanner sc = new scanner(system.in)
int num1 = sc nextint()
//외울 숫자 배열생성하기
int[] number = {48,6,27}
//질문할 숫자개수입력
sc2 = new scanner(system.in)
int num2 = sc nextint()
//질문할 숫자생성
//랜드넘사용해서 숫자 랜덤 생성
Random random = new ramdom()
int randnum = 1 + random.nextInt(101) // 1부터 100까지 생성하기
//생성된 숫자랑 배열에 저장된숫자랑 일치하는지 확인 맞으면 1 아니면 0 출력
while(true){
for(i=0, i==,i++){
if(i==randnum)
syso("1")
else{
syso"0")
}
}
4.틀린부분 수정하기
대소문자 오타 수정및 문법수정
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 외울 숫자 개수 입력하기
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
// 외울 숫자 배열 생성하기
int[] number = new int[num1];
// 외울 숫자 입력받기
for (int i = 0; i < num1; i++) {
number[i] = sc.nextInt();
}
// 질문할 숫자 개수 입력
int num2 = sc.nextInt();
// 랜덤 객체 생성
Random random = new Random();
// 질문 개수만큼 랜덤 숫자 생성 후 비교
for (int i = 0; i < num2; i++) {
int randNum = random.nextInt(100) + 1; // 1부터 100까지 생성
boolean found = false;
// 생성된 숫자랑 배열에 저장된 숫자랑 일치하는지 확인
for (int j = 0; j < number.length; j++) {
if (number[j] == randNum) {
found = true;
break;
}
}
// 맞으면 1, 아니면 0 출력
if (found) {
System.out.print(1 + " ");
} else {
System.out.print(0 + " ");
}
}
}
}
5.파이선 문법으로 변환
import random # 랜덤 숫자를 만들기 위해 random 모듈 불러오기
# 외울 숫자 개수 입력
num1 = int(input("외울 숫자 개수 입력: "))
# 외울 숫자들 한 줄로 입력받아 리스트로 저장
number = list(map(int, input().split()))
# 질문할 숫자 개수 입력
num2 = int(input("질문할 숫자 개수 입력: "))
# 질문할 숫자들을 랜덤으로 num2개 생성
randnum = []
for i in range(num2):
r = random.randint(1, 100) # 1부터 100까지 랜덤 숫자 생성
randnum.append(r) # 리스트에 추가
print("랜덤으로 나온 숫자들:", randnum)
# 질문 숫자들을 하나씩 확인
for r in randnum:
if r in number:
print(1,end=" ")
else:
print(0,end=" ")
결과를 한줄로 출력하고 싶을때는 end를 사용한다 for문을 사용할때는 위 코드 처럼 for에 옆에 변수명의 별칭을 적고 in으로 변수명을 적는다
'🐢 꼬부기 LV.1 | 개념•기초 > 💧물대포(핵심개념)' 카테고리의 다른 글
| 사용자경험 기준으로 비즈니스 심각도 정의하기 (0) | 2026.03.15 |
|---|---|
| 단일책임원칙(SRP) (0) | 2026.03.14 |
| 파이썬 설치후 VS 코드에서 기본문법익히기 (0) | 2026.03.12 |
| [회고]면접 질문 복기 와 반성 (0) | 2026.03.11 |
| JPA (0) | 2026.03.10 |