본문 바로가기

코딩공부

[백준| 단계별로 풀어보기 4단계 1차원 배열 | Python] 10813번 공 바꾸기 1. 문제 목적 이 문제는 리스트의 인덱싱과 요소 교환을 통해 파이썬에서의 기본적인 데이터 조작 방법을 학습하는 데 중점을 둡니다. 이를 통해 사용자는 데이터 구조에 저장된 요소에 접근, 수정하는 기본적인 방법을 익히게 됩니다. 2. 핵심 개념 리스트 인덱싱: 리스트에서 특정 위치의 요소에 접근하는 방법. 리스트[인덱스]의 형태로 사용됩니다. 파이썬의 인덱스는 0부터 시작합니다. 요소 교환: 파이썬에서 두 변수의 값을 교환하는 가장 간단한 방법은 a, b = b, a의 형태로 사용하는 것입니다. 이 문제에서는 이 방법을 사용하여 두 바구니의 공을 교환합니다. 3. 문제 해결 절차 초기 설정: N개의 바구니를 준비하고 각 바구니에 1부터 N까지 순서대로 번호를 부여합니다. 교환 명령 실행: 주어진 교환 명.. 더보기
[코드업 | 기초100제 | 일지] 1051~1080 1. 학습목표 코드업 기초100제를 풀 수 있다. 2. 학습내용 복사 붙여넣기 없이 타이핑 연습과 c언어 개념을 사용해보았다. 3. 마무리 반복문의 결과를 다양하게 파악할수 있었다. 나머지 100제까지 완료한 후 몇가지 문제를 정리해보도록 해야겠다. 더보기
[코드업 | 기초100제 | 일지] 1000~1050 1. 학습목표 코드업 기초100제를 풀 수 있다. 2. 학습내용 복사 붙여넣기 없이 타이핑 연습과 c언어 개념을 사용해보았다. 3. 마무리 너무 늦게 시작했지만 꾸준히 공부하고 있다. 목적, 성실, 지속 그리고 ... 더보기
[큰돌 C++ 알고리즘 코딩테스트 | 강의 0주차] split()함수 1. 학습목표 split()함수에 대해 이해할수 있다. 2.필요 개념 문장정리 split()함수란 다른 프로그래밍 언어에서도 문자열을 특정 문자열을 기준으로 쪼개어서 배열화시키는 함수라는 의미로 사용되는데 C++에서는 STL에서 split() 함수를 지원하지 않는다. 3. 코드작성 while ((pos = input.find(delimiter)) != string::npos) { // 특정문자열을 찾아 위치 반환 token = input.substr(0,pos); // 문자열 저장 ret.push_back(token); // 토큰결과를 저장할 ret 추가 input.erase(0, pos + delimiter.length()); // input 문자열에서 delimiter를 기준으로 토큰을 추출하고 각각.. 더보기
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 14. 박자에 맞추어 노트 찍기 노트가 떨어지는 박자를 계산하기위한 노트 데이터를 담을수 있는 노트클래스를 만듭니다. package dynamic_beat_14; public class Beat { private int time; // 노트 타이밍 변수 private String noteName; // 노트 종류 변수 public int getTime() { return time; } public void setTime(int time) { this.time = time; } public String getNoteName() { return noteName; } public void setNoteName(String noteName) { this.noteName = noteName; } public Beat(int time, Strin.. 더보기
[자바의정석 | Chapter 07 객체지향 프로그래밍2] 오버라이딩 1. 학습목표 오버라이딩의 의미를 이해할 수 있다. 2.필요 개념 문장정리 오버라이딩 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것을 오버라이딩이라고 한다. 오버라이딩은 메서드의 내용만을 새로 작성하는 것이므로 메서드의 선언부는 조상의 것과 완전히 일치해야 한다. 접근제어자는 조상클래스의 메서드보다 좁은범위로 변경 할 수 없다. 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다. 인스턴스메서드를 static메서드로 또는 그 반대로 변경할 수 없다. 3. 코드작성 class Point { int x; int y; String getLocation(){ return "x : " + x + ", y :" + y; } } class Point3D extends Point { int z; Str.. 더보기
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 3. 시작화면에 음악 삽입 mp3확장자로 된 배경음악파일을 준비합니다. music폴더를 생성합니다. 음악파일을 재생할 수 있도록 JLayer라이브러리를 설치합니다. package dynamic_beat; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import javazoom.jl.player.Player; // JLayer라이브러리 public class Music extends Thread { // 쓰레드를 상속 private Player player; // 음악 라이브러리 private boolean isLoop; // 무한반복 변수 private File file; private FileInputStream f.. 더보기
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 2.게임 시작화면 개발하기 게임배경화면 이미지를 선정하고 images폴더를 생성해서 이미지를 저장합니다. 더블버퍼링은 예비버퍼를 사용하여 그래픽 데이터를 저장하여 필요한 부분을 끊어짐 없이 보여주는 것을 의미합니다. 이를 사용하여 게임 이미지를 깜빡임없이 그려낼 수 있습니다.. package dynamic_beat_2; public class Main { public static final int SCREEN_WHIDTH = 1280; public static final int SCREEN_HEIGHT = 720; public static void main(String[] args) { new DynamicBeat(); } } Main클래스 package dynamic_beat_2; import java.awt.Graphics; .. 더보기