본문 바로가기

분류 전체보기559

Baekjoon 1417 국회의원 선거 JAVA 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 문제 다솜이는 사람의 마음을 읽을 수 있는 기계를 가지고 있다. 다솜이는 이 기계를 이용해서 2008년 4월 9일 국회의원 선거를 조작하려고 한다. 다솜이의 기계는 각 사람들이 누구를 찍을 지 미리 읽을 수 있다. 어떤 사람이 누구를 찍을 지 정했으면, 반드시 선거때 그 사람을 찍는다. 현재 형택구에 나온 국회의원 후보는 N명이다. 다솜이는 이 기계를 이용해서 그 마을의 주민 M명의 마음을 모두 읽었다. 다솜이는 기호 1번이다. 다솜이는 사람들의 마음.. 2022. 9. 16.
Baekjoon 10813 공 바꾸기 JAVA 10813번: 공 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 www.acmicpc.net 문제 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. 도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다. 공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오. 입력 첫째.. 2022. 9. 15.
Baekjoon 11719 그대로 출력하기 2 JAVA 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 문제 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다. 출력 입력받은 그대로 출력한다. 풀이 readLine을 이용하게 되면 문자열을 한 줄씩 입력받는다. 전체 라인을 입력을 받으면 앞 뒤에 공백까지도 입력받기에 입력받은.. 2022. 9. 14.
Baekjoon 23757 아이들과 선물 상자 JAVA 23757번: 아이들과 선물 상자 모든 아이들이 실망하지 않고 각자 원하는 만큼 선물을 가져갈 수 있으면 $1$을, 그렇지 않으면 $0$을 출력한다. www.acmicpc.net 문제 상훈이는 N$N$개의 선물 상자를 가지고 있다. 선물 상자에는 현재 담겨있는 선물의 개수가 적혀있다. 선물을 받을 아이들이 M$M$명 있다. 아이들은 각자 1$1$에서 M$M$까지의 서로 다른 번호를 하나씩 부여받았다. 1$1$번 아이부터 M$M$번 아이까지 한 번에 한 명씩, 현재 선물이 가장 많이 담겨있는 상자에서 각자 원하는 만큼 선물을 가져간다. 이 때, 앞서 누군가 선물을 가져갔던 선물 상자에서 또다시 가져가도 상관없다. 하지만 상자에 자신이 원하는 것보다 적은 개수의 선물이 들어있다면, 선물을 가져가지 못해 실망.. 2022. 9. 14.
Baekjoon 25328 문자열 집합 조합하기 JAVA 25328번: 문자열 집합 조합하기 알파벳 소문자로 구성된 문자열 X, Y, Z가 주어진다. 각각의 문자열에는 중복된 문자가 존재하지 않는다. 문자열 S에 있는 문자 중 임의로 k개를 선택하여 문자열 S에서의 순서를 유지하여 만든 모 www.acmicpc.net 문제 알파벳 소문자로 구성된 문자열 X, Y, Z가 주어진다. 각각의 문자열에는 중복된 문자가 존재하지 않는다. 문자열 S에 있는 문자 중 임의로 k개를 선택하여 문자열 S에서의 순서를 유지하여 만든 모든 부분 문자열을 모아 놓은 집합을 문자열 S에 대한 조합 C(S, k)라고 하자. 예를 들어, 문자열 S = 'abc'에 대한 조합 C(S, 2) = {'ab', 'ac', 'bc'}이다. 입력으로 문자열 X, Y, Z와 정수 k가 주어질 때 C.. 2022. 9. 14.
TK X 이벤트와 Tcl 명령의 연결 X 이벤트와 Tcl 명령의 연결 바인딩은 Tcl 명령을 X 윈도우 시스템의 이벤트와 연결시키는 작업 이벤트는 다음과 같은 경우에 발생 키가 눌려진 경우 키에서 손을 뗀 경우 마우스 버튼이 눌려진 경우 마우스 버튼을 놓은 경우 윈도우 안으로 마우스 포인터가 들어가는 경우 마우스 포인터가 윈도우 밖으로 빠져 나가는 경우 윈도우의 크기가 변경되는 경우 윈도우가 열리는 경우 윈도우가 닫히는 경우 입력 포커스를 얻은 경우 widget이 없어지는 경우 바인딩은 binding tag들로 정의되며 각 widget은 binding tage들의 집합과 연결 바인딩과 widget이 분리됨으로써 유연하고 강력한 시스템을 구성할 수 있음 bind 명령 bind 명령은 현재 바인딩에 대한 정보를 돌려 주고 새로운 바인딩을 정의하.. 2022. 9. 13.
TK Pack 형상 관리자 Pack 형상 관리자 형상 관리자는 화면에 widget을 배치 각 widget마다 다른 종류의 형상 관리자를 사용 형상 관리자는 부모 widget을 하나 사용하며 그 안에 여러 개의 자식 widget을 배치 부모 widget은 보통 프레임 하나의 widget은 한번에 하나의 형상 관리자에 의해서만 관리 widget이 형상 관리자와 연결되지 않으면 화면에 나타나지 않음 packer는 강력한 형상 관리자 각 윈도우의 정확한 위치 대신, 어떤 방식으로 배치하는지 알려주면 packer가 알아서 배치 본 글에서는 예제를 통해 packer 형상 관리자를 이용 모서리쪽에 붙이기 두개의 프레임을 생성한 후 각각을 메인 윈도우의 위쪽에 붙임 더 위쪽에 배치될 윈도우가 .one이며 그 아래에 .two 윈도우가 배치 모서리.. 2022. 9. 13.
TK 예제로 배우는 Tk 예제로 배우는 Tk Tk를 이용하여 쉽게 UI를 만들 수 있음 ExecLog UNIX 프로그램을 수행할 수 있는 간단한 사용자 인터페이스를 제공 UI는 ‘Run it’과 ‘Quit’의 두 버튼, 명령을 입력 받는 entry widget, 수행된 로그를 기록하는 텍스트 widget으로 구성 프로그램을 파이프라인으로 수행하며 출력을 기다리기 위해 fileevent 명령을 사용 이 구조는 프로그램이 수행중인 경우라도 UI가 동작하도록 함 ExecLog 프로그램의 실행 예와 소스 코드 # Set window title wm title . ExecLog # Create a frame for buttons and entry frame .top -borderwidth 10 pack .top -side top -fil.. 2022. 9. 8.
TK 기초 TK Tk는 윈도우 프로그래밍을 위한 툴킷이지만 매킨토시에도 사용 가능 Tk는 widget을 생성하고 관리할 수 있는 TCL 명령들을 제공 widget은 gUI에서 어떤 특정한 모양과 동작을 가지는 윈도우를 지칭 widget과 window라는 용어는 자주 혼용되어 사용 widget 형태에는 버튼, 스크롤바, 메뉴, 텍스트 윈도우 등이 포함 Tk는 또한 일반적으로 그림을 그리는 데 사용되는 캔버스라는 widget을 제공 X 윈도우 시스템은 윈도우의 계층적인 구성을 지원하는데, Tk도 이런 특성을 따름 윈도우 계층 구조라는 것은 하나의 메인 윈도우가 있으며 그 안에 여러 개의 자식 윈도우가 포함 자식 윈도우 또한 그 안에 여러 윈도우를 포함할 수 있음 widget은 형상 관리자(geometry manager.. 2022. 9. 7.
728x90
728x90