코딩테스트 진행하다가 순열사용할 때 재활용할 수 있을 것같아서 올려 둔당. 문자열에서 각 문자 별로 모든 경우의 수를 구하다가 사용하게 된 순열 알고리즘 중복 제거를 위해 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..
오랜만이네요. 자주오도록 해볼게요. --- 1차원 배열은 Arrays.sort(배열이름)으로 쉽게 정렬할 수 있다. 하지만 2차원 이상의 배열일 경우엔 public class sortTest { public static void main(String[] args) { int[][] arr = {{3,5},{2,7},{1,6}}; Arrays.sort(arr); } } 다음과 같은 Exception이 발생한다. Exception in thread "main" java.lang.ClassCastException: class [I cannot be cast to class java.lang.Comparable ([I and java.lang.Comparable are in module java.base of ..
세 정수를 입력받아 MAX값을 출력해주는 Max함수를 만들었다. 이하 설명은 주석으로 달아두었음. using System; namespace _20190823 { class Program { static int Max(int a, int b, int c)//최댓값 출력해주는 MAX함수 { int[] x = { a, b, c }; int max = a;//max변수에 첫번째값(a) 삽입 for (int i = 1; i < x.Length; i++)//첫번째값(a)은 max에 넣어뒀으니 두번째부터 시작 { if (max < x[i])//max와 x배열의 요소값들과 비교 max = x[i];//max보다 x배열의 요소값이 크면 max에 x배열의 요소값을 대입 } return max;//max(최댓값) 반환 }..
* 입력함수 : Console.ReadLine() * 출력함수 : Console.WriteLine("내용") -> {0} : 첫번 째 출력할 변수의 값 -> {0:0.0} : 소숫점 첫번 째까지 출력 using System; namespace _20190823 { class Program { static void solve(int a, int b, int c) { Console.WriteLine("SUM : {0}", a+b+c);//합 Console.WriteLine("avg : {0:0.0}", (a+b+c)/3);//평균 } static void Main(string[] args) { int a, b, c; a = int.Parse(Console.ReadLine());//a 입력 b = int.Pa..
* 게임 조건 - 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 ..
C언어를 하다보면 컴파일할 때 위와같은 경고문을 볼 때가 있다. 에러가 아니라서 프로그램은 정상적으로 돌아간다. 저 경고문이 뜨는 이유 ! 보통 [Warning] incompatible implicit declaration of built-in function 'printf' 혹은 [Warning] incompatible implicit declaration of built-in function 'scanf' 같이 뜰거다. 그냥 해당 헤더파일을 추가안해줘서 그럼; printf나 scanf같은거는 상단에 #include 를 안써줘서 그렇다.
Eclipse의 경우 Ctrl + 보고싶은 클래스 클릭하면 해당 소스를 볼 수 있다. .jar 소스코드가 궁금할 때도 마찬가지로 들어갈 수 있다. Thread의 Runnable을 예로 들어서 설명하겠음 보통 아무 설정이 없는 경우 이렇게 소스를 찾을 수 없다고 뜬다. (Source not found) Attach Source... 버튼을 클릭하면 (Runnable의 jar은 rt.jar인가보다) 이런 창이뜬다. 원래는 Workspace location에 라디오버튼이 클릭되어 있을 것이다. External location을 클릭하고 External File...을 눌러서 요렇게 src.zip을 찾아줍니다. 보통 JDK설치시 특이하게 다른 곳에 저장하지 않는 이상 해당 폴더에 있다. (해당 폴더에 없으면 자..
- Total
- Today
- Yesterday