본문 바로가기

전체 글38

[코딩문제] 용병과 식인종 Write a program that solves the following problem: Three missionaries and three cannibals come to a river and find a boat that holds two people. Everyone must get across the river to continue on the journey. However, if the cannibals ever outnumber the missionaries on either bank, the missionaries will be eaten. Find a series of crossings that will get everyone safely to the other side of the ri.. 2021. 9. 15.
[코딩문제] : 두 물통 문제 You have two jugs: a 4-gallon jug and a 3-gallon jug. Neither of the jugs have markings on them. There is a pump that can be used to fill the jugs with water. How can you get exactly two gallons of water in the 4-gallon jug? 당신한테 물통 2개가 있는데, 4갤런짜리랑 3갤런짜리다. 2개 다 어떤 마킹같은건 안되있다. 옆에는 물통에 물을 가득 채울 수 있는 펌프가 있다. 4갤런짜리 물통에 2리터를 담을 수 있는가? 바로 다음 문제는 Generalize the problem above so that the parameters to y.. 2021. 9. 14.
[Python] 중위 -> 후위, 전위 수식 변환, 수식 계산, html 태그 체크 def isHigherOperator(x : str, y : str) -> bool: if x not in "+-/*" or y not in "+-/*": raise NotOperatorException("isHigherOperator : parameter not operator") if x in "*/" and y in "+-" : return True else: return False class NotOperatorException(Exception): pass class InvalidExpr(Exception): pass def isInt(x) -> bool: try: int(x) return True except ValueError: return False def infixToPostfix(exp.. 2021. 8. 17.
[Python] 스택, 큐, 더블큐, 괄호 체크, 10진수 -> 2진수, 10진수 -> n진수 class Stack: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[len(self.items)-1] def size(self): return len(self.items) class Queue: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def enqueue(self, item): self.items.. 2021. 8. 17.
[Python] 시어핀스키와 하노이 from BasicDataStructure import Stack import turtle import math def draw_spiral(my_turtle, line_len): if line_len > 0: my_turtle.forward(line_len) my_turtle.right(90) draw_spiral(my_turtle, line_len - 5) def tree(branch_len, t): if branch_len > 5: t.forward(branch_len) t.right(20) tree(branch_len - 10, t) t.left(40) tree(branch_len - 10,t) t.right(20) t.backward(branch_len) def triangleFromMid(t .. 2021. 8. 17.
[Kotlin] IntelliJ Kotlin Project - 1 Tip - Extract Variable Extract Variable은 동일한 변수를 반복적으로 사용하는 코드를 재구성해준다. 단축키는 Ctrl+Alt+V. 이렇게 하면 호출이 적어지지 않을까? 무엇보다도 코드가 더 깔끔해진다. Tip - Move refactoring Move refactoring 의 단축키는 F6 이고, static으로 만든 inner class에 적용할 때 한단계 위의 클래스로 옮길건지, 다른 클래스로 옮길건지 알림창이 뜬다. 그럼 inner class 란?? 클래스 정의 부분에서, 한 클래스가 다른 클래스 안에 있을 때 이를 inner class라고 한다. inner class를 사용하는 이유는, method(함수)로는 부족한 경우를 위해 사용한다. Tip - Use your f.. 2021. 4. 30.