본문 바로가기

728x90

전체 글

(53)
[Java] 연산자 우선순위의 이해 # 연산자 (operator) 의 종류 구분 종류 우선순위 결합규칙 단항 연산자 ++ -- + - ~ ! (type) 높음 산술 연산자 * / % + - 비교 연산자 = instanceof == != 논리 연산자 & ^ | && || 삼항 연산자 ?: 대입 연산자 = += -= *= /= = &= ^= |= 낮음 # 연산자 우선 순위의 예 사용 예 설 명 -x + 1 x에 붙은 -가 +보다 먼저 연산된다. 단항 연산자 우선. x + 2 * 3 +보다 *가 먼저 연산된다. 산술 연산자 중 * / % 우선. x + 4 > y - 5 >보다 +, -가 먼저 연산된다. 산술 연산자 우선. x > 6 && y ,
[안드로이드] 간단한 터치로 도형그리는 방법 canvas, paint 클래스와 onTouchEvent 함수를 이용한 간단한 그림그리기 앱입니다. xml없이 MainActivity.java 파일 하나로 구현합니다. # 옵션 메뉴를 이용해 선 혹은 원을 선택한 후 # 손으로 터치하여 그릴 수 있습니다. # MainActivity.java package com.sikuroku.project9_1_paint; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.g..
[안드로이드] 간단한 Canvas, Paint 클래스 문법 안드로이드 스튜디오에서 간단하게 도형을 그리는 Java 코드입니다. 아래 이미지와 같은 도형을 그리게 됩니다. # MainActivity.java package com.siku.paint; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.Rect; import android.graphics.RectF; import android.os.Bundle; ..
[C++] 구조체를 확장하면? 클래스! # C의 구조체는 서로 다른 타입의 집합입니다. #include #include struct Student{// 구조체 int age; char name[25]; }; void printStudent(Student s){ printf("나는 %d살, %s입니다.\n", s.age, s.name); } int main() { Student s; s.age = 20; strcpy(s.name, "홍길동"); printStudent(s); return 0; } 출력 결과: 나는 20살, 홍길동입니다. # 여기에서 구조체 Student와 함수 printStudent 는 서로 상호의존적입니다. Student는 printStudent가 없으면 화면에 출력할 수가 없고, printStudent도 Student가 없으..
[안드로이드] 간단한 이미지뷰어 / SD카드에서 이미지 파일 읽기 # 기능 이전 사진 보기 버튼 다음 사진 보기 버튼 커스텀 이미지 뷰어 # AVM SD카드에 이미지 저장하기 1) SD카드에 이미지 파일 넣기 - Device File Explorer 에서 ` (1) sdcard \ Pictures 폴더를 우클릭 upload로 저장 ` (2) storage \ emulated \ 0 \ Pictures 폴더 우클릭 upload로 저장 ` 같은 곳을 가리키기 때문에 (1)번, 2(번) 아무 방법이나 하셔도 둘 다 생성되어 있습니다. - Device File Explorer 윈도우가 안보인다면 ` View \ Tool Windows 에서 찾을 수 있습니다. ` Device Manager 의 해당 AVM 설정에서도 찾을 수 있습니다. # 커스텀 위젯 만들기 1. Project..
[안드로이드] Raw 폴더에서 txt 파일 읽어오기 java 소스코드 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // (1) activity_main.xml 에서 Button 1개, EditText 1개 배치합니다. Button btnRead; final EditText edtRaw; btnRead = findViewById(R.id.btnRaw); edtRaw = findViewById(R.id.edtRaw); btnRead.setOnClickListener(new View..
[C] C 문법 공부 #3 문자열 함수 # 문자열 함수 헤더 #include 함수 설명 strcpy ( 대상문자열, 소스문자열 ) 소스 문자열을 대상 문자열에 복사합니다. strncpy (대상, 소스, 길이 ) 소스 문자열의 일부분을 대상 문자열에 복사합니다. strcat (대상, 소스 ) 소스 문자열을 대상 문자열의 뒤에 붙입니다. strncat (대상, 소스, 길이 ) 소스 문자열의 길이만큼 대상 문자열 뒤에 붙입니다. strcmp ( 문자열1, 문자열2 ) 두 문자열의 크기를 비교합니다. strncmp (문자열1, 문자열2, 길이 ) 두 문자열의 길이까지의 크기를 비교합니다. stricmp ( 문자열1, 문자열2 ) 대소문자 구분하지 않고 두 문자열의 크기를 비교합니다. strnicmp (문자열1, 문자열2, 길이 ) 대소문자 구분하지 ..
[Java] Java 입력 클래스 Scanner # Scanner Scanner를 사용하기 위해서 1. java.util.scanner 패키지를 import 합니다. > import java.util.Scanner; 혹은 > import java.util.*; 2. scanner 객체 생성 > Scanner sc = new Scanner(System.in); 멤버 함수 설명 nextByte() byte형 정수 입력 nextShort() short형 정수 입력 nextInt() int형 정수 입력 nextLong() long형 정수 입력 nextFloat() float형 실수 입력 nextDouble() double형 실수 입력 nextBoolean() boolean형 데이터 입력 next() 공백단위로 끊어서 String형 문자열 입력 nextLine..
[알고리즘/C++] 부분집합 구하기 - 이진트리 완전탐색 (DFS) # 문제 설명 자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하는 프로그램을 작성하세요. # 제한사항 1
[알고리즘/C++] 구슬을 나누는 경우의 수 # 문제 설명 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. # 제한사항 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 구슬을 고르는 순서는 고려하지 않습니다. share ≤ balls # 입출력 예 baslls share result 3 2 3 5 3 10 # 힌트 서로 다은 n개 중 m개를 뽑는 경우의 수 공식 # 문제 풀이 #include #include #include // balls가 30이고 share가 15이면..
[C++] STL Vector # 헤더 #include # 생성자 #include #include #include using namespace std; void main() { vector v1;// 디폴트 생성자. 비어있음. vector v2(10);// 10칸짜리 double형 배열. vector v3(10, 7);// 10칸 7로 채워진 int형 배열. vector v4(v3);// v3를 복사하여 생성된 배열. int arr[] = {1,2,3,4,5,6,7,8,9}; vector v5(&arr[2], &arr[5]);// arr[2] ~ arr[4] 를 복사하여 생성된 배열. vector vArr[3];// ()가 아닌 []로 생성하면 vector배열이 3개가 생성된다. vArr[0].push_back(1); vArr[0]...
[C] C 문법 공부 #2 입력 scanf(), gets(), getch(), kbhit() # scanf()의 기본 형태 scanf("%d", &x); 정수를 입력받아 변수 x에 대입한다. # 간단한 정수 입력 및 활용의 예 int a, b; int sum; printf("첫 번째 숫자: ");// 프로그램이 실행되면 여기까지 실행된 후 scanf("%d", &a);// 키보드로 숫자 입력 후 엔터 입력까지 대기 printf("두 번째 숫자: ");// 입력완료하면 여기까지 실행된 후 scanf("%d", &b);// 다시 키보드로 숫자 입력 후 엔터 입력까지 대기 sum = a + b; printf("두 수의 합은 %d입니다.\n", sum);// 다시 입력완료하면 여기까지 실행된다. 첫 번째 숫자: 12 두 번째 숫자: 23 두 수의 합은 35입니다. # gets()의 기본 형태 gets(..

728x90