[C언어 기초-05] 연산자 (대입, 산술, 증감연산자) C언어 연산자 대입연산자 앞서 나온 변수와 자료형 편에서 이미 대입연산자의 정의 아닌 정의가 나오기도 했고... 뭐 여러 코드를 실습하고 보면은 그냥 자연스레 몸에 익혀진다. 우선 대입연산자는 ' = ' 이다. 여기서 equal(동일)의 의미가 아닌 assign(할당하다)이다. 즉 변수 = 데이터; 는 변수에 데이터를 할당하다, 배정하다, 대입하다가 되는 것이다. 쉽게 오른쪽에 있는 값을 왼쪽에 넣는다. int n;// 정수형 변수 n 선언 n = 10;// 변수 n에 정수 10을 대입하여 초기화 이런식으로 사용할 수 있다. 아주 간단하다. 산술연산자 산술 연산자는 +, -, *, /, % 이렇게 다섯개 있다. 변수에 값을 할당하여 산술연산자로 계산을 해도 되고 그냥 쌩값과 값대로 계산해도 된다. (변수.. 2021. 8. 3. [C언어 에러 해결] Visual Studio 2019 scanf() C4996 에러해결 C4996 오류 scanf: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Visual Studio 에서 scanf()를 사용하면 저런 에러가 뜬다. 번역기를 돌려보면 이 함수 또는 변수는 안전하지 않을 수 있습니다. 대신 scanf_s를 사용하는 것이 좋습니다. 지원 중단을 비활성화하려면 _CRT_SECURE_NO_WARNNINGS를 사용하세요. 자세한 내용은 온라인 도움말을 참조하십시오. 이렇게 뜬다. scanf_s를 쓰던지 _CRT_SECURE_NO_WARNINGS 를 사.. 2021. 8. 2. 백준 2447번 JAVA 별 찍기 - 10 [재귀] 까다로워 보인다. 3의 거듭제곱을 적고 그 적은 N만큼 N*N 행렬을 그린다. 3*3 사이에는 공백을 집어넣고 그 3*3행렬이 또 1이 되어 세 개가 모이면 (9*9가 되면) 가운데 3*3행렬은 공백이 된다. 다음 제곱인 27도 마찬가지 패턴으로 채워 넣으면 위와 같이 출력이 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 import java.util.Arrays; import java.util.Scanner; public class Main{ //baekjoon 2447번 별 찍기 - 10 재귀 public static char[][] arr; public.. 2021. 8. 2. [C언어 기초-04] 데이터 입출력 2. scanf() 표준입출력함수 Scanf() 저번 글에 printf()에 대해 알아보았다. 이번에는 scanf()에 대해 알아보자. scanf()도 printf()랑 마찬가지로 헤더파일을 입력해줘야 한다. #inclue 사용 방법도 별 차이가 없다. #include main(){ int num;//정수형 변수 선언 printf("숫자를 입력해주세요 : "); scanf("%d", &num);//정수타입 입력 printf("입력한 수는 : %d", num); } printf()와 마찬가지로 입력 형식을 "" 안에 변환형식 %d 와같이 사용하고 &num 2021. 7. 27. JAVA 자바 초보 변수 선언과 초기화 & 데이터 타입 프로그래밍 언어는 참 다양하게 있고 요즘 나오는 언어들도 어쩌다 어쩌다 접해보고 있는데.. 이제는 데이터 타입 생략은 당연해진 것 같다. 문법 자체가 간소해지고 있달까... 아무튼 그러든가 말든가 자바를 사용하려면 데이터 타입, 변수 선언과 초기화 하는 법은 알아야 한다. 그런데 사실 뭐 간단한 코딩 예제 몇 개만 하다보면 금방 적응 된다. 구분 타입 크기(범위) 정수 byte 1 byte short 2 byte int 4 byte long 8 byte 실수 float 4 byte double 8 byte 문자 char 문자열 String 논리 boolean 주로 사용하는 데이터 타입이다. 문자, 문자열, 논리가 크기가 없는것은 잘 모르기 때문이다. 죄송 (몰라도 상관없다) 하드웨어 자체 성능이 뛰어나진.. 2021. 7. 7. 백준 10870번 자바 피보나치 수 5 [재귀] n을 입력한다. 피보나치 수열에서 n번째 수는 몇 인지 출력하는 프로그램이다. Fn = Fn-1 + Fn-2 이렇게 공식도 친절히 나와있다. 즉 5번째 수는 4번째 + 3번째 라는 의미이다. 그럼 4번째 수와 3번째 수를 알아야 한다. 4번째는 3번째 +2번째 이며 2번째는 0번째 + 1번째이다. 0번째는 0이고 1번째는 1이다. 이렇게 n을 입력하고 -1, -2 쭉쭉해서 0번째와 1번째에서 0과 1을 리턴하면서 더하고 더하고 더해서 최종 리턴하면 n번째 피보나치 수를 구할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import java.util.Scanner; public class Main{ public static void .. 2021. 6. 6. 백준 10872번 자바 팩토리얼 [재귀] 수학2를 마치고 재귀 문제에 들어갔다. 재귀.. 함수가 함수를 호출하고 호출하고 호출하고 리턴하고 리턴하고 리턴하는 생각하기 너무 귀찮은 뭐 그렇다. 팩토리얼 프로그램을 작성하는 것이다. 참고로 팩토리얼은 ! 로 표시하는데 3! 이면 1 * 2 * 3 = 으로 6 이다. 5! 은 1*2*3*4*5 이다. 첫 줄에 n을 입력하면 n!을 출력하면 된다. 1*2* ... * n을 출력하면 되는데 그럼 간단하게 for문으로도 작성할 수 있다. [for 문] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Sca.. 2021. 6. 3. 백준 1002번 자바 터렛 [기본수학2] x1, y1 좌표를 입력하고 류재명과의 거리 r1 마찬가지로 x2, y2, r2를 입력한다. 류재명이 있을 수 있는 위치의 개수를 출력하는 프로그램이다. x1, y1 좌표에서 r1을 반지름으로 원을 그리고 x2, y2에서 r2로 원을 그리고 두 원이 만나는 점이 류재명이 있을 수 있는 위치이다. 경우의 수를 살펴보면 네 가지가 있다. 두 원이 아예 만나지 않는 경우 (두 점 사이의 거리보다 r1+r2값이 작은경우, r1, r2의 차이가 거리보다 큰 경우) 한 점이 만나는 경우 (r1+r2가 거리랑 일치하는 경우, r1, r2의 차이가 거리랑 같은 경우) 무한대인 경우 (다 같은 값인 경우) 두 점이 만나는 경우 (앞에 조건을 다 넣고 이거는 else로 편하게 ㅎ) 1 2 3 4 5 6 7 8 9 10 1.. 2021. 5. 20. 백준 3053번 자바 택시 기하학 [기본수학2] 원의 넓이를 유클리드 기하학과 택시 기하학 두 가지 구하라는 문제다. 유클리드 기하학의 원의 넓이는 그 유명한 파이알의제곱 PI*r^2 이다. 택시 기하학에서의 두 점 사이의 거리는 바둑판 같은 좌표 평면에서의 거리를 의미한다. 즉 반지름이 2라면 파란점 기준에서 빨간점까지의 거리가 택시기하학상 원의 반지름인 것이다. 검은선이 반지름이고 그것을 계속 찍다 보면 오른쪽그림처럼 마름모꼴 정사각형이 된다. 저 마름모의 넒이를 구하면 되는데 우리에게 주어진것은 r의 길이 => 이등변삼각형을 구하고 * 2 를 하면 된다. 이등변 삼각형은 밑변의 절반 * 높이를 하면 되고 거기에 2를 곱하면 마름모의 넓이가 된다. => r * r 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 .. 2021. 5. 12. 백준 4153번 자바 직각삼각형 [기본수학2] 직각삼각형 문제다. 세 변의 길이를 입력하고 이 삼각형이 직각인지 아닌지 출력해주면 된다. 직각삼각형하면 피타고라스짱의 공식을 이용하면 된다. a^2 + b^2 = c^2 아주 간단하게 짜면 if(a*a + b*b == c*c){ System.out.println("right"); } 이렇게 하면 끝이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 import java.util.Scanner; public class Main { //baekjoon 4153번 직각삼각형 기본수학2 public static void main(String[] args){ Scanner sc = ne.. 2021. 5. 11. 백준 3009번 JAVA 네 번째 점 [기본 수학2] 1 2021. 5. 11. [DBeaver] 무료 여러 DB 접속 툴 DBeaver 설치 및 마리아DB 연동 여러 db 접속 툴이 있다. 사용하는 db에 따라 종류도 여러가지지만 귀찮고 귀찮을 때 하나 설치해놓으면 여러 db를 연동할 수 있는 툴이 DBeaver 이다. 제목에는 마리아DB로 쓰여있지만 내가 사용할 것이고 오라클, mysql, mssql 등등 다양한 DB랑 접속할 수 있다. 아래 링크를 들어간다. dbeaver.io/download/ Download | DBeaver Community Download Tested and verified for MS Windows, Linux and Mac OS X. Install: Windows installer – run installer executable. It will automatically upgrade version (if needed). MacOS .. 2021. 5. 7. 백준 1085 자바 직사각형에서 탈출 [기본수학2] 사각형이 있다. 요렇게 생긴 사각형인데 x, y, w, h 를 입력하고 x, y 에서 직사각형의 변 중에 가장 가까운 경계선을 구하는 프로그램을 작성해야 한다. 저 빨간선 중 가장 짧은 거리를 구하면 된다. (삐뚤빼뚤은 ㅈㅅ.. ㅎ) 그림상에서 거리로만 보면 위로 향한 선이 가장 최솟값이다. 그 값은 어떻게 찾을 수 있을까? h-y 이다. 아주 간단하게 풀 수 있다. 위(h-y) 아래(y) 중 작은값과 오른쪽(w-x) 왼쪽(x) 중 작은값을 비교해서 가장 작은 값을 출력하면 끝이다. width = (w-x) < x ? w-x : x 이렇게 삼항연산자로 width 작은값 height 작은값을 구해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2.. 2021. 5. 6. 백준 9020번 자바 골드바흐의 추측 [기본수학2] 푼지 좀 되서 기억은 잘 가물치지만 수학2의 문제는 대부분 소수 문제 인듯 싶다.. 음 지겨워 아무튼 요약! 1. 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다. 그 두 수의 표현을 골드바흐 파티션이라고 한다. 2. n의 골드바흐 파티션을 출력하는 프로그램을 작성. 가능한 경우가 여러가지면 두 소수의 차이가 가장 작은 것을 출력 3. 테스트 케이스 T 입력 T 만큼 짝수 n입력 간단하쥬? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 import java.util.Scanner; public class Main { //baekjoon 9020 골드바흐의 추측 .. 2021. 5. 5. 백준 4948번 자바 베르트랑 공준 [기본수학2] 에라토스테네스의 체 문제가 개떡같이 길게 쓰여 있지만 간단하게 풀면 n을 입력하면 n보다 크고 2n보다 작은 소수의 개수를 출력하는 문제이다. 0을 입력할 때 까지 계속 반복하면 끝~ 저번 소수문제와 같이 이렇게 범위가 주어지고 소수를 구하는 문제는 에라토스테네스의 체 방법을 이용하면 된다. 마찬가지로 같은 방법을 이용해서 풀어보도록 하자. hellodoor.tistory.com/114 백준 2581번 자바 소수 [기본 수학2] 에라토스테네스의 체 간단하다. m, n 두 수를 입력 후 m과 n 사이의 소수의 합을 출력하고 가장 작은 소수를 출력하면 된다. 여기서는 에라토스테네스 체 방법을 이용해서 문제를 풀어본다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 hellodoor.tistory.com 에.. 2021. 5. 4. [C언어 기초-03] 데이터 입출력 1. printf() 저번 시간에 대애충 데이터 변수와 자료형, 선언과 초기화 하는 방법을 알아보았다. 쌈박한 복습을 해보자면 int number; //int 자료형 변수 number 선언 number = 10; //변수 number 10으로 초기화 이렇게 사용하면 된다. 뭐 자세하게는 실습하다보면 자연스레 몸에서 익혀질 것이고.. 이번에는 데이터 입출력 함수에 대해서 알아본다. 1. 표준 입출력 함수 C언어는 컴파일러에 의해 제공되는 표준 라이브러리 함수가 있다. 이 라이브러리를 사용하기 위해서는 헤더파일을 명시해 줘야 한다. 헤더 파일에는 , , 등이 있다. 입출력 함수는 stdio.h에 정의되어 있어 이것을 상단에 적어준다. #include 이렇게 선언해주면 된다. 그럼 이제 표준 입출력 함수를 사용할 준비가 끝났다. .. 2021. 4. 29. 백준 1929번 자바 JAVA 소수 구하기 [기본수학2] 그놈의 소수문제 지긋지긋한 소수문제 많이 풀어봐서 이제 너무 쉬운 소수문제다. 이 문제는 저번에 푼 문제랑 그냥 저냥 똑같다. M N범위를 입력하면 그 사이의 소수를 구하는 문제이다. 저번에 에라토스테네스 체 방법을 이용해서 푼 적이 있는데 똑같이 풀어보았다. 아래는 그때 풀이 링크~ hellodoor.tistory.com/114 백준 2581번 자바 소수 [기본 수학2] 에라토스테네스의 체 간단하다. m, n 두 수를 입력 후 m과 n 사이의 소수의 합을 출력하고 가장 작은 소수를 출력하면 된다. 여기서는 에라토스테네스 체 방법을 이용해서 문제를 풀어본다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 hellodoor.tistory.com 1 2 3 4 5 6 7 8 9 10 1.. 2021. 4. 29. 백준 11653번 JAVA 소인수분해 [기본 수학2] 정수를 입력하면 소인수분해 하는 프로그램을 작성하면 되는 아주 간단한... 수학을 놓은지 어언.. 몇 년이냐.. 소인수분해 듣기는 했는데 정의가 정확하게 뭐였는지 까먹었당.. 그래서 구선생에게 물어보았다. 아하! 어떤 수를 소수들의 곱으로 나타내게 쪼개고 쪼개는 뭐 그런 작업이었다. 이것을 중학생 때? 배웠던가 아무튼 어렴풋한 기억이 있는데 암산으로 마구 코딩을 하기전에 먼저 손으로 소인수분해를 해보고 코드를 작성해보았다. 입력한 정수가 12 라면 우리는 소인수분해를 이렇게 할 것이다. 만약 72를 입력한다면? 소인수분해 정의도 기억이 잘 안 났지만 손으로 해보니 아주 자유자재로 써진다. 글씨체도 자유자재 아무튼 위에 풀이를 토대로 코드를 작성해본다. 1 2 3 4 5 6 7 8 9 10 11 12 13.. 2021. 4. 27. 이전 1 2 3 4 5 6 7 ··· 9 다음