Posting
-
[220619]파이썬 실습문제: 전화번호부 프로그램
파이썬 프로그래밍 14주차 실습문제 tkinter와 파일처리를 배우고 전화번호부 프로그램을 만들었다. ※요구 사항 PhoneBook.txt파일을 읽어와 그 내용을 튜플과 리스트로 출력 전화번호부 GUI 좌우 아이템 넘기기 버튼 기능 변동 아이템의 인덱스 번호 아이템 데이터 표시 수정버튼 추가 버튼 저장버튼: 변동내용(수정, 추가 등)이 파일에 저장되도록 만들기 내가 추가한 디테일 마지막 페이지에서 오른쪽버튼을 누르면 아이템추가를 위한 빈 창이 나오도록 함 첫번째 페이지에서 왼쪽버튼을 누르면 마지막 페이지로 이동 GUI구성 수정 삭제 버튼 (20220808수정) 완성된 화면 ※PhoneBook.txt파일 형식 이름1 전화번호1 직업1 이름2 전화번호2 직업2 이름3 전화번호3 직업3 ※구현할 코드 Phon..
2022.08.08
-
[c++] 백준 - 2920번: 음계 | char배열과 String클래스를 사용한 문자열비교
2920번: 음계 (acmicpc.net) 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net ※ 정답코드 #include using namespace std; int main() { char array[9]; for (int i = 0; i > array[i]; } array[8] = '\0'; string str(array); if (str == "12345678") cout
2023.04.12
-
[230503] 자료구조 과제5: 순환(recursion)
자료구조 7주차 : 순환 과제4의 Node클래스와 LinkedList클래스를 바탕으로 추가함수를 구현하는 과제 [20230414] 자료구조 과제4: LinkedList클래스 (tistory.com) [20230414] 자료구조 과제4: LinkedList클래스 자료구조 6주차 : 포인터(동적메모리)와 연결 리스트 교수님이 제시해주신 스켈레톤 코드를 채워넣는 과제였다. ※문제설명 우리에게 Node 클래스와 LinkedList 클래스가 주어졌다 기본적인 이론 지 daybreakfrontline21.tistory.com ※문제설명 지난 과제에서 구현한 Node 클래스와 LinkedList 클래스가 있다. Node클래스의 경우는 기존 코드 외setData() 함수가 추가되었다(내용은 코드를 참고) 그리고Link..
2023.05.07
-
[230325]자료구조 과제2: BankAccount
자료구조 2주차 : 배열과 클래스 과제 배열과 클래스를 배우고 BankAccount클래스를 만들었다. ※ 요구 사항 . 클래스 BackAccount 를 정의하라. 해당 클래스에는 멤버 변수로 은행명(bankName), 계좌주(owner), 계좌번호(address), 잔액(balance)이 있다. 계좌주, 은행명, 계좌번호는 모든 곳에서 공개가 가능한 반면, 잔액은 해당 객체 외에 어느곳에서도 공개가 되지 않는다. 그리고 다음과 같은 모든 곳에서 공개되는 멤버 함수를 가지고 있다. 기본 생성자, 매개 변수를 받는 생성자, 및 소멸자 ※구현할 코드 void displayInfo(): 해당 객체의 은행명, 계좌주, 및 계좌번호를 프린트한다. void displayBalance(): 해당 객체의 계좌번호와 잔액..
2023.03.25
-
[230330]자료구조 과제3: Print
자료구조 3주차 : 스택과 큐 과제 교수님이 제시해주신 스켈레톤 코드를 채워넣는 과제였다. *백준 스택문제 링크 넣기 ※문제설명 . 프린터가 있다고 가정하자. 이 프린터는 사용자에게 프린트 인쇄 요청을 받고 이를 순서대로 저장한 뒤 최종적으로 출력해준다. 그러나 사용자가 인쇄 요청을 보내고 출력을 시작하기 전까지 사용자의 인쇄 요청 취소를 반영해야 한다 각 요청마다 중요도(imp)와 페이지 수(pages)가 있고 이를 비교하여 제일 빨리 처리해야 하는 요청을 먼저 인쇄한다 (중요도가 높을 수록, 페이지 수가 많을 수록 먼저 인쇄한다.) 이러한 작업을 위해 우리는 배열을 사용한 스택과 원형큐를 사용할 것이다. ※구현할 코드 InputPrintStack 클래스 더보기 ⦁ Int형 top ⦁ Print형 배열..
2023.04.02
-
[c++] 백준 - 1157번: 단어 공부
1157번: 단어 공부 (acmicpc.net) 1157번: 단어 공부알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.www.acmicpc.net전체코드#include #include using namespace std; int main() { int array[26] = { 0, }; char word[1000000], max_index = 0; cin >> word; int len = strlen(word), max_num = 0, count = 0; for (int i = 0; i = 'a' && word[i] max_num) { max_num ..
2023.05.10
학교생활!
-
[231222] 고급 자바프로그래밍 프로젝트: 캘린더
고급자바프로그래밍 프로젝트 과제 나는 gui를 활용한 캘린더를 만들기로 하였다. 완성된 화면 ※구현 1. 달력화면 만들기 2. 달력 넘기기 구현 3. 저장, 로드 구현하기 4. 배경색 바꾸는 버튼 구현 코드전체 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.nio.file.Path; import java.nio.file.Paths; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.*; public cla..
2024.01.01
-
[231111] 고급 자료구조 과제3: 그래프
클래스 AdjMatGraph를 완성하라. 다음과 같은 함수를 구현하라. ⦁ void deleteVertex(int val): 인수인 val과 같은이름(혹은 숫자)를 가진 정점을 그래프에서 삭제한다. ⦁ void deleteEdge(int u, int v): 정점 u와 v를 잇는 간선을 삭제한다. ⦁ void display(): 그래프를 출력한다. 그래프에 더이상 존재하지 않는 정점은 출력하지 말아야 한다. (출력의 예는 아래 그림에서 확인) 클래스 AdjListGraph를 완성하라. 다음과 같은 함수를 구현하라. ⦁ void deleteVertex(int val): 인수인 val과 같은이름(혹은 숫자)를 가진 정점을 그래프에서 삭제한다. ⦁ void deleteEdge(int u, int v): 정점 u..
2023.11.15
-
[231104] 고급 자바프로그래밍 과제: Puzzle
고급자바프로그래밍 실습과제 조건문과 GUI, 저장, 로드 등을 활용한 퍼즐 만들기 20X20pixel 크기의 블록 100개와 총 23개의 버튼을 활용한 퍼즐 다양한 조건문과 이벤트리스너, 파일 관리 등을 잘 활용할 줄 알 아야 가능 완성된 화면 ※구현형태 20*20px 흰색 RGB(255,255,255) 이미지 1개와 20*20px 검정색 RGB (0,0,0) 이미지 1개 만들기 간격은 2pixel 로 10*10 (총 100개) 하얀색 이미지를 배치하기 버튼 10개를 행의 맨 왼쪽에, 버튼 10개를 열의 맨 위쪽에 배치 맨 위에 버튼 3개(초기화, 저장, 불러오기) ※구현조건 행 버튼 1개와 열 버튼 1개를 누르면 그 두 버튼이 만나는 지점 의 색이 바뀜 (흰색-> 검정색, 검정색-> 흰색) 행 버튼 2..
2023.11.13
-
[230602] 자료구조 과제6: 연결 리스트와 힙
※문제설명 데이터가 뒤죽박죽 섞여있는 리스트 세 개가 주어지고 이를 category와 data를 기준으로 정렬하는 과제 ※구현할 클래스 LinkedNode LinkedList HeapNode MinHeap ※구현할 함수 void sortThreeListsByCategory(LinkedList* list1, LinkedList* list2, LinkedList* list3) : 매개 변수인 세 개의 연결 리스트를 모두 각 category에 맞게 합친 후 오름차순으로 정렬한다. LinkedList* sortThreeListsByDataOnly(LinkedList* list1, LinkedList* list2, LinkedList* list3) : 매개 변수인 세 개의 연결 리스트를 한꺼번에data를 기준으로..
2023.07.11
-
[230520] 고급C++프로그래밍: 과제3
오류를 찾고 그 오류를 해결하는 과제 메인함수 #include "mystring.h" void print_safe(mystring& s) { cout
2023.05.31
-
[230503] 자료구조 과제5: 순환(recursion)
자료구조 7주차 : 순환 과제4의 Node클래스와 LinkedList클래스를 바탕으로 추가함수를 구현하는 과제 [20230414] 자료구조 과제4: LinkedList클래스 (tistory.com) [20230414] 자료구조 과제4: LinkedList클래스 자료구조 6주차 : 포인터(동적메모리)와 연결 리스트 교수님이 제시해주신 스켈레톤 코드를 채워넣는 과제였다. ※문제설명 우리에게 Node 클래스와 LinkedList 클래스가 주어졌다 기본적인 이론 지 daybreakfrontline21.tistory.com ※문제설명 지난 과제에서 구현한 Node 클래스와 LinkedList 클래스가 있다. Node클래스의 경우는 기존 코드 외setData() 함수가 추가되었다(내용은 코드를 참고) 그리고Link..
2023.05.07
CodingTest
-
[JAVA] 백준 - 1018번: 체스판 다시 칠하기 | 브루트포스 알고리즘
1018번: 체스판 다시 칠하기 (acmicpc.net) 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net import java.util.*; import static java.lang.Math.min; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); int m = input.nextInt(); boolean[][] brd = n..
2023.10.03
-
[JAVA] 백준 - 11866: 요세푸스 문제 0
11866번: 요세푸스 문제 0 (acmicpc.net) 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); int k = input.nextInt(); Queue Josephus = new LinkedList(); for (int i = 1; i
2023.09.26
-
[JAVA] 백준 - 11650: 좌표 정렬하기
11650번: 좌표 정렬하기 (acmicpc.net) 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); int[][] xy = new int[n][2]; for (int i = 0; i
2023.09.26
-
[JAVA] 백준 - 10814번: 나이순 정렬 | Arrays.sort()
10814번: 나이순 정렬 (acmicpc.net) 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); Member[] members = new Member[n]; //ArrayList members = new ArrayList(); for (int i = 0; i
2023.09.25
-
[c++] 백준 - 10971: 외판원 순회2
10971번: 외판원 순회 2 (acmicpc.net) 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net #include #include using namespace std; int N, W[10][10], sum_min = 10000000; bool check[10] = { 1, 0, }; void CostMin(int index, int cost, int prev) { if (index == N) { if (!W[prev][0]) return; else cost +..
2023.07.30