코딩테스트 진행하다가 순열사용할 때 재활용할 수 있을 것같아서 올려 둔당. 문자열에서 각 문자 별로 모든 경우의 수를 구하다가 사용하게 된 순열 알고리즘 중복 제거를 위해 HashSet을 사용했다. String s = "aab" 이면 aab, aba, baa 가 나온다. import java.util.*; class Solution { // 문자열로 만들 수 있는 모든 경우의 수 (중복x) public HashSet allSet; public void solution(String s) { allSet = new HashSet(); permutation("", s); } // 모든 경우의 수를 구하는 순열 public void permutation(String prefix, String s) { int n..
* 게임 조건 - 3회 지면 게임오버 - 3회 이기면 LIFE + 1 * 코드 #include int main(){ int ran;//랜덤 수 int input;//도전자 입력값 int life = 3; //생명 int count = 0;//이긴 횟수 printf("가위바위보 게임을 시작합니다 \n\n"); while(life>0){ ran = rand() % 3;//0, 1, 2 랜덤값 생성 printf("가위:0, 바위:1, 보:2 >> "); scanf("%d", &input);//도전자 입력 if(input>2 || input
알고리즘 1. 전체 수에 대한 경우의 수의 배열을 생성한다. 2. 해당 알고리즘에서 랜덤 숫자와 같은 스트라이크, 볼 수를 가진 경우의 수를 제거 3. 스트라이크가 3일 때 혹은 전체 경우의 수의 배열이 1개가 남을 때 종료 import random import string allCount=0 count=0 ## 몇 번 돌릴지 결정 while allCountlen(set(arrNum2[i])): arrNum.remove(arrNum2[i]) ranNum = random.choice(arrNum) ## 정답 숫자 ## 숫자 맞추기 시작 while True: count+=1 comp = random.choice(arrNum) ## 컴퓨터가 맞추는 숫자 ## STRIKE, BALL 초기화 strike = 0 ..
using System; using System.Linq; // .Contains namespace test { class Program { static void Main(string[] args) { Random rand = new Random(); int[] num = new int[7]; // 번호 for (int i = 0; i < num.Length; i++) { int a = rand.Next(1, 46); if (!num.Contains(a)) num[i] = a; else i--; } // 버블정렬 for (int j = 0; j < num.Length - 1; j++) { for (int k = 1; k < num.Length - 1; k++) { if (num[k] < num[k - 1..
- Total
- Today
- Yesterday