본문 바로가기

알고리즘

(54)
알고리즘1 The HALTING Problem The HALTING Problem 프로그램에 입력이 들어오면 종료할 것이냐? 멈추지 않는다면 알려주는 것이 좋지 않을까? 무한루프는 멈추지 않는 프로그램 중 하나 어떤 프로그램이 종료하지 않는지를 미리 알 수 있는가? 언젠가 끝난다는 것을 말할 수 있는 시점이 있을까? 반대로 절대로 안 끝난다는 것을 확신할 수 있는 시점이 있을까? Alan Turing의 증명 -> 결론 : 이 문제는 안 풀린다. -> 이 문제는 풀린다고 가정함. (귀류법으로 증명) 프로그램 D = 모든 프로그램 M과 M에 대한 모든 입력 X에 대해서 M(X)를 실행하면 종료할 지 영원히 계속 수행될지 판단할 수 있다고 하자. - 프로그램 D는 Yes/No를 대답하는 프로그램 - 프로그램 D는 항상 종료함 즉, 프로그램 D의 입력은 어..
java HashMap 난 항상 향상된 for문을 사용하는 편이었는데 람다식에 좀 더 익숙해질 필요가 있는듯 //key출력 valuevalues.forEach(value -> System.out.println(value)); //key와 value출력 productPrice.forEach((key, value) -> { System.out.print("key: "+ key); System.out.println(", Value: "+ value); }); keySet()만 또 익숙했었는데! 키와 값이 모두 필요할 땐 entryset()을 이용하자. compute() ,computeIfPresent() putIfAbsent() , computeIfAbsent() 사실 이거때문에 이 글 씀 getOrDefault 찾는 키가 존재하면..
자바스크립트 정규식 Regular Expressions I 문제 : 3글자 이상의 소문자 알파벳으로 이루어진 문자열. 첫글자와 마지막 글자가 같은 모음(a,e,i,o,u)이라면 true 반환 일단 main함수에 test는 뭐지? 하고 이것부터 당황했따 ㅋㅅㅋ 자바스크립트 제대로 해본적이 없고..걍 검색하면서 풀어야지 했던거라서.. const re = regexVar(); console.log(re.test(s)); test()를 쓰면 정규식을 확인하고 true / false로 반환해주는 거 였음 일단 맨 첫글자가 모음인 거 찾는 거까진 당연히 쉬웠다. 마지막 글자가 이 첫 글자와 같아야 하는데 처음엔 replace해서 기존 문자열과 변경된 문자열을 비교할까 했는데 test()를 쓰고 있으니 더 복잡해지는 소리였다. 찾아보니 앞에서 찾아낸 정규식문자를 저장하는 기..
extends와 implements차이, Covariant Return Type extends는 부모에게 상속 받는 것 implements는 인터페이스를 상속받는 것. 즉 틀만 받아오고 내용은 채워야 하는 것을 의미한다 Covariant Return Type 한국어로 하면 공변 반환 타입? 상속받은 메소드에서 return값을 다르게 할 수 있다. 단, 상위 class 메소드의 return type의 하위 class(subclass)까지 가능하다. 예를 들어 상위 클래스의 반환타입은 JTextField였지만 이를 상속받은 클래스에서는 반환타입을 JPasswordField로 할 수 있다는 이야기
For문 runtime에러 (luck-balance)
Climbing the Leaderboard set은 정처기 시험에서 나왔듯이 순서가 없고 중복이 없다 treeset은 중복이 없지만 오름차순, 내림차순이 가능하다. 기본으로 오름차순으로 들어가며, 따라서 더 느리다. set보다는 list가 list보다는 배열이 더 빠르다. (왜 난 복잡한 순으로 빠르다고 생각했는지 모르겠는데.. 그건 아마도 검색할 때 기준일 듯) - 시간초과 문제는 그 자료구조를 사용해야만 풀리는 경우가 아주 많다... 그래서 해답을 보기 전까지는 해답을 찾기 굉장히 힘들고 언제까지 문제를 붙들고 있는 게 맞는 건지 모르겠다... 심지어 해답을 본다고 아는 것도 아님 ㅠㅠ 맨날 해답보고 아~ 그렇구나 했는데 이제 제발 코드까지 내가 구현완료하고 포기하길...ㅠ - 이 문제는 계속 set으로 접근하다가 list가 그냥 더 빠르다는..