[Python] 백준 4101 - 크냐?
·
Algorithm
문제 두 양의 정수가 주어졌을 때, 첫 번째 수가 두 번째 수보다 큰지 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 두 정수가 주어진다. 두 수는 백만보다 작거나 같은 양의 정수이다. 입력의 마지막 줄에는 0이 두 개 주어진다. 출력 각 테스트 케이스마다, 첫 번째 수가 두 번째 수보다 크면 Yes를, 아니면 No를 한 줄에 하나씩 출력한다. 정답 while True: a, b = map(int, input().split()) if a == 0 and b == 0: break if a > b: print("Yes") else: print("No")
[Python] 백준 10178 - 할로윈의 사탕
·
Algorithm
문제 할로윈데이에 한신이네는 아부지가 사탕을 나눠주신다. 하지만 한신이의 형제들은 서로 사이가 좋지않아 서른이 넘어서도 사탕을 공정하게 나누어 주지 않으면 서로 싸움이 난다. 매년 할로윈데이때마다 아부지는 사탕을 자식들에게 최대한 많은 사탕을 나누어 주시기 원하며 자신에게는 몇개가 남게되는지에 알고 싶어 하신다. 이런 아부지를 도와서 형제간의 싸움을 막아보자. 입력 가장 첫 번째 줄에는 테스트 케이스의 수가 입력되고, 각 테스트 케이스마다 사탕의 개수와 형제의 수가 차례대로 입력된다. 출력 출력은 예제를 보고 ”You get __ piece(s) and your dad gets __ piece(s).” 형식에 맞추어 적절하게 출력하라. 정답 t = int(input()) for i in range(t):..
[Python] 큐와 스택(queue, stack)
·
Algorithm/Python
큐 큐는 선입선출 방식의 자료구조이다. 예를 들어 버스를 타려고 승강장에 도착한 승객들은 차례대로 줄을 서게된다. 승객들은 먼저 온 순서대로 버스에 탑승하게 된다. 큐에 자료를 한 개 집어넣는 동작을 '인큐(enqueue)', 큐 안에 있는 자료를 한 개 꺼내는 동장을 '디큐(dequeue)'라고 한다. 스택 스택은 접시를 쌓는것처럼 차곡차곡 쌓는 방식의 자료구조이다. 예를 들어 접시를 쌓아올릴 때 차곡차곡 접시를 쌓고 설거지를 할 때 맨 밑의 접시부터 닦는게 아니라 마지막으로 쌓은 접시부터 닦게 된다. 스택에 자료를 하나 집어넣는 동작을 '푸시(push)', 스택 안에 있는 자료를 꺼내는 동작을 '팝(pop)'이라고 한다. 큐와 스택을 이용한 회문찾기 알고리즘 def palindrome(s): qu =..
[Kotlin] 람다식 / SAM변환
·
개발 타임캡슐/Kotlin
람다식 람다식은 하나의 함수를 표현하는 방법이며, 익명클래스나 익명 함수를 간결하게 표현할 수 있어 유용하다. //두 수를 인수로 받아서 더해주는 add메서드 fun add(x: Int, y: Int): Int { return x + y } //위 코드는 이렇게 표현 가능하다. fun add(x: Int, y: Int) = x + y 이렇게도 표현가능하다. 인수목록을 나열하고 -> 이후에 본문이 위치한다. //{인수1: 타입1, 인수2: 타입2 -> 본문} var add = { x: Int, y: Int -> x + y } println(add(2, 5)) //7 SAM 변환 코틀린에서는 추상 메서드 하나를 인수로 사용할 떄는 함수를 인수로 전달하면 편하다. 자바로 작성된 메서드가 하나인 인터페이스를 구..
[Kotlin] 리스트 / 맵 / 집합
·
개발 타임캡슐/Kotlin
리스트 리스트는 배열처럼 같은 자료형의 데이터들을 순서대로 가지고 있는 자료구조이다. 요소를 변경할 수 없는 읽기 전용 리스트는 listOf() 메서드로 작성할 수 있다. val foods: List = listOf("라면", "갈비", "돈가스") //형 추론으로 자료형 생략가능 val foods = listOf("라면", "갈비", "돈가스") 요소를 변경하는 리스트를 작성할 때는 mutableListOf() 메서드를 사용한다. val foods = mutableListOf("라면", "갈비", "돈가스") //파스타를 맨 뒤에 추가 foods.add("파스타") //맨 앞의 아이템 삭제 foods.removeAt(0) //1번째 아이템을 감자탕으로 변경 foods[1] = "감자탕" println(..
[Python] 백준 9316 - Hello judge
·
Algorithm
문제 당신은 N개의 테스트케이스들에게 반드시 인사를 해야 이 문제를 풀 수 있다. N개의 줄에 걸쳐 "Hello World, Judge i!" 를 출력하는 프로그램을 만들라. 여기서 i는 줄의 번호이다. 입력 N이 주어진다. (1 ≤ N ≤ 200) 출력 한 줄에 하나의 Hello World, Judge i! 를 출력한다. 정답 n = int(input()) for i in range(n): print(f'Hello World, Judge {i+1}!') 참고 포멧 문자열 리터럴 문자열에 'f' 또는 'F' 접두어를 붙이고 표현식을 { }를 이용해 작성하여 값을 삽입할 수 있다.