Programming Language

    [백준, BOJ 17951] 흩날리는 시험지 속에서 내 평점이 느껴진거야 (java)

    https://www.acmicpc.net/problem/17951 17951번: 흩날리는 시험지 속에서 내 평점이 느껴진거야 시험지를 12, 7, 19, 20과 17, 14, 9, 10 으로 나누면 맞은 문제 개수의 합의 최소는 50이다. www.acmicpc.net 메모리: 22,880 KB , 시간: 288 ms 사용 알고리즘: 이분 탐색, 매개 변수 탐색 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br ..

    MapleStroy Worlds(MSW) - 인트로 재생 구현(캐릭터 자동 이동 & 대화창)

    ※ 작성자도 MSW 초보자이므로 코드가 비효율적이거나 기술 구현이 많이 부족합니다!😅 구현 영상 동작 설명 게임에 처음 접속하는 플레이어(뉴비)일 경우, 인트로를 실행합니다. StartMap에서 IntroMap으로 플레이어 이동시킵니다. 플레이어를 자동 이동 시키며, 스토리에 대한 이해를 도울 대사를 대화창을 통해 주인공의 혼잣말 형식으로 보여줍니다. 인트로가 끝나면 StartMap으로 다시 이동시킵니다. 중간에 Skip 버튼 누를 시 인트로 기능이 중지됩니다.(자동 이동이 멈추고 대화창 꺼지며 StartMap으로 이동하게 됩니다.) 뉴비가 아니라면 접속 시 인트로가 실행되지 않습니다. 테스트 데이터를 초기화하고 다시 접속하면 뉴비로 인식되어 인트로 실행되는 것을 확인할 수 있습니다. 개선이 필요한 부분..

    게임으로 배우는 파이썬 Part 1 Chapter 4 :PyGame

    PyGame은 파이썬 게임용 라이브러리이다. PyGame을 사용하면 윈도를 만들어 자유롭게 그릴 수 있다. 마우스나 키보드 입력도 받는다. 게임에서 편리하게 사용할 수 있는 명령도 풍부하다. 1 : 윈도 표시 먼저, 윈도를 화면에 표시한다. """justwindow.py""" import sys import pygame from pygame.locals import QUIT pygame.init() # (widht, height) SURFACE = pygame.display.set_mode((400, 300)) # window title pygame.display.set_caption("Just Window") def main(): """main routine""" while True: SURFACE.f..

    게임으로 배우는 파이썬 Part 1 Chapter 3 :제어문

    1 : 인덴트 인덴트란 문장 앞 들여쓰기로 문서를 읽기 쉽게 할 때 사용한다. 파이썬에는 인덴트를 사용해 그룹화하는 특징이 있다. if 조건식: 명령1 명령2 명령3 if 문의 조건이 성립했을 때에는 명령1과 2가 실행되고, 그 후 명령3으로 간다. 반대로 조건이 성립하지 않을 때는 명령1과 2를 건너뛰고, 명령3이 실행된다. 다른 언어와 같이 개인의 기호에 따라 인덴트 스타일이 다르지는 않기 때문에 누가 써도 비슷하게 기술된다. 그 결과 읽기 쉬운 코드로 연결된다. 다른 언어의 경우 명령이 하나 이상일 때, { }로 감싸 여러 개의 문장을 하나로 합한다. 이때 사람의 스타일마다 인덴트를 사용하지 않기도 하고 인덴트를 사용해 가독성을 높이기도 한다. 다른 언어에 익숙한 사람에게는 괄호가 없는 것에 위화감..

    백준 문제 풀때, python3과 pypy3의 차이

    처음에는 pypy라는 다른 언어가 있는 줄 알았다. (워낙 언어가 다양하다 보니..) 그런데 2805 번 문제를 풀다보니 계속 시간 초과가 났다. 그래서 뭐가 잘못 됐는지 구글링을 해봤는데, 블로그에 올라온 코드들은 모두 맞았습니다!! 를 받은 코드들일텐데, 변수 이름 빼고는 거의 똑같았다. 어느 한 블로그에서 pypy3으로 제출을 했다길래, 나도 pypy3으로 돌려봤는데 맞았습니다!! 가 떴다. 그래서 python과 pypy의 차이에 대해 검색해보았고, 이 블로그에 의하면, PyPy는 JIT컴파일을 도입하며 CPython보다 빠르다는 것이다. PyPy에는 자주 쓰이는 코드를 캐싱하는 기능이 있기 때문에, 메모리를 조금 더 사용하여 실행속도를 개선하였고 반복문을 많이 사용하는 코드에서는 PyPy가 속도 ..

    Python - deque objects

    https://docs.python.org/3/library/collections.html#collections.deque collections — Container datatypes — Python 3.10.0 documentation collections — Container datatypes Source code: Lib/collections/__init__.py This module implements specialized container datatypes providing alternatives to Python’s general purpose built-in containers, dict, list, set, and tuple. namedtuple() factory f docs.python...

    파이썬 알아두면 좋은 표현

    1. 다음과 같이 여러 수를 여러 줄에 입력 받을 때, list에 넣는 경우 맨 첫 줄에 몇 개의 수를 입력 받을 것인지 입력됨. # 입력 5 10 100 1000 10000 100000 import sys n = int(input()) num = [int(sys.stdin.readline()) for _ in range(n)] 2. 다음과 같이 여러 수를 한 줄에 입력 받을 때, 각 변수에 넣는 경우 n1, n2 = map(int, input().split()) 3. 문자열의 순서를 뒤집어 저장 n = input() reversed_n = "".join(reversed(n)) 4. 리스트의 가장 마지막 원소 list[-1] 5. 리스트의 원소들을 하나씩 한 줄에 출력 print('\n'.join(lis..

    게임으로 배우는 파이썬 Part 1 Chapter 2 :데이터형과 데이터 구조

    함수 divmod 몫과 나머지를 한 번에 구한다. >>> divmod(11, 4) (2, 3) max max(a,b)일 때 a와 b 중 큰 쪽 값을 반환한다. >>> max(2, 6) 6 >>> max(-4,-8) -4 >>> max(2.4, 3.14) 3.14 min min(a,b)일 때 a와 b 중 작은 쪽 값을 반환한다. >>> min(2, 6) 2 >>> min(-4,-8) -8 >>> min(2.4, 3.14) 2.4 type 인수에 수치나 변수를 주면 그 데이터형을 반환 값으로 돌려준다. >>> type(6) >>> type(7.8) >>> type(-4) >>> type(-5.723) >>> type(3.0) int 부동소수점형의 값 및 부울값, 문자열을 정수로 변환한다. >>> int(2...

    명품 JAVA Programming 제6강 자바 기본 프로그래밍 실습문제

    1. 다음 main( )이 실행되면 아래 예시와 같이 출력되도록 MyPoint 클래스를 작성하라. public static void main(String[] args) { MyPoint p = new MyPoint(3, 50); MyPoint q = new MyPoint(4, 50); System.out.println(p); if (p.equals(q)) System.out.println("같은 점"); else System.out.println("다른 점"); } --출력-- Point(3,50) 다른 점 public class MyPoint { int x; int y; MyPoint (int x, int y) { this.x=x; this.y=y; } public String toString() { ..

    명품 JAVA Programming 제5강 자바 기본 프로그래밍 실습문제

    [1~2] 다음 TV 클래스가 있다. class TV { private int size; public TV(int size) { this.size=size; } protected int getSize() { return size; } } 1. 다음 main( ) 메소드와 실행 결과를 참고하여 TV를 상속받은 ColorTV 클래스를 작성하라. public static void main(String[] args) { ColorTV myTV=new ColorTV(32, 1024); myTV.printProperty(); } --출력-- 32인치 1024컬러 public class ColorTV extends TV { private int color; public ColorTV(int size, int colo..