x, y = 100, 200
print(x==y)
✏️ False
class Parent {
void show( ) { System.out.println("parent"); }
}
class Child extends Parent {
void show( ) { System.out.println("child"); }
}
public class Test {
public static void main(String[ ] args) {
Parent pa = new Child( );
pa.show( );
}
}
✏️ child
lol = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(lol[0])
print(lol[2][1])
for sub in lol:
for item in sub:
print(item, end=' ')
print()
✏️
[1, 2, 3]
7
1 2 3
4 5
6 7 8 9
class Parent {
int compute(int num) {
if(num <= 1) return num;
return compute(num - 1) + compute(num - 2);
}
}
class Child extends Parent {
int compute(int num) {
if(num <= 1) return num;
return compute(num - 1) + compute(num - 3);
}
}
public class Test {
public static void main(String[] args) {
Parent obj = new Child();
System.out.print(obj.compute(4));
}
}
✏️ 1
compute(4-1) + compute(4-3)
= compute(3-1) + compute(3-3) + 1
= compute(2-1) + compute(2-3) + 0 + 1
= compute(1) + compute(-1) + 0 + 1
= 1
public class Test {
static int[] arr() {
int a[] = new int[4];
int b = a.length;
for(int i = 0; i < b; i++)
a[i] = i;
return a;
}
public static void main(String[] args) {
int a[] = arr();
for(int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
✏️ 0 1 2 3
public class Test {
public static void main(String[] args) {
System.out.print(Test.check(1));
}
static String check(int num){
return (num >= 0) ? "positive" : "negative";
}
}
✏️ positive
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int v1 = 0;
int v2 = 35;
int v3 = 29;
if (v1 > v2 ? v2 : v1)
v2 = v2 << 2;
else
v3 = v3 << 2;
printf("%d", v2 + v3);
return 0;
}
✏️ 151
if(v1)
→ v1의 값이 0이기 때문에 거짓 → else문으로 이동
<<
: 오른쪽에 0 추가>>
: 왼쪽에 0 추가
#include <stdio.h>
void main() {
int m = 4620;
int a = m / 1000;
int b = m % 1000 / 500;
int c = m % 500 / 100;
int d = m % 100 / 10;
printf("1000원의 개수 : %d\n", a);
printf("500원의 개수 : %d\n", b);
printf("100원의 개수 : %d\n", c);
printf("10원의 개수 : %d\n", d);
}
✏️
1000원의 개수 : 4
500원의 개수 : 1
100원의 개수 : 1
10원의 개수 : 2
#include <stdio.h>
#include <ctype.h>
int main( ) {
char *p = "It is 8";
char result[100];
int i;
for(i = 0; p[i] != '\0'; i++) {
if(isupper(p[i]))
result[i] = (p[i] - 'A'+ 5) % 25 + 'A';
else if(islower(p[i]))
result[i] = (p[i] - 'a'+ 10) % 26 + 'a';
else if(isdigit(p[i]))
result[i] = (p[i] - '0'+ 3) % 10 + '0';
else if(!(isupper(p[i]) || islower(p[i]) || isdigit(p[i])))
result[i] = p[i];
}
result[i] = '\0';
printf("변환된 문자열 : %s\n", result);
return 0;
}
✏️ 변환된 문자열 : Nd sc 1
#include <stdio.h>
void main() {
int n[] = { 5, 4, 3, 2, 1 };
for (int i = 0; i < 5; i++)
printf("%d", n[(i+1)%5]);
}
✏️ 43215
#include <stdio.h>
void main() {
int n[] = { 73, 95, 82 };
int sum = 0;
for (int i = 0; i < 3; i++)
sum += n[i];
switch (sum / 30) {
case 10:
case 9: printf("A");
case 8: printf("B");
case 7:
case 6: printf("C");
default: printf("D");
}
}
✏️ BCD
sum = 73+95+82 = 250
250/30 = 8
#include <stdio.h>
void main() {
int E[] = { 64, 25, 12, 22, 11 };
int n = sizeof(E) / sizeof(E[0]);
int i = 0;
do {
int j = i + 1;
do {
if (E[i] > E[j]) {
int tmp = E[i];
E[i] = E[j];
E[j] = tmp;
}
j++;
} while (j < n);
i++;
} while (i < n - 1);
for (int i = 0; i <= 4; i++)
printf("%d ", E[i]);
}
✏️ 11 12 22 25 64
int = 4byte
n = (4byte*5) / 4byte = 5
#include <stdio.h>
void main() {
int c = 0;
for (int i = 1; i <= 2023; i++)
if (i % 4 == 0)
c++;
printf("%d", c);
}
✏️ 505
4, 8, 12, 16.....
2023 / 4 = 505...3
#include <stdio.h>
void main() {
char* p = "KOREA";
printf("1. %s\n", p);
printf("2. %s\n", p + 1);
printf("3. %c\n", *p);
printf("4. %c\n", *(p + 3));
printf("5. %c\n", *p + 4);
}
✏️
1. KOREA
2. OREA
3. K
4. E
5. O
#include <stdio.h>
struct insa {
char name[10];
int age;
struct insa* impl_a;
struct insa* impl_b;
};
void main() {
struct insa p1 = { "Kim", 28, NULL, NULL };
struct insa p2 = { "Lee", 36, NULL, NULL };
struct insa p3 = { "Park", 41, NULL, NULL };
p1.impl_a = &p2;
p2.impl_b = &p3;
printf("%s\n", p1.impl_a -> name);
printf("%d", p2.impl_b -> age);
}
✏️
Lee
41
#include <stdio.h>
#include <string.h>
void inverse(char *str, int len) {
for(int i = 0, j = len - 1; i < j; i++, j--) {
char ch = str[i];
str[i] = str[j];
str[j] = ch;
}
}
int main() {
char str[100] = "ABCDEFGH";
int len = strlen(str);
inverse(str, len);
for(int i = 1; i < len; i += 2) {
printf("%c", str[i]);
}
return 0;
}
✏️ GECA
len = 8, i = 0, j = 7
inverse(str, len);
→ str[] = "HGFEDCBA"
#include <stdio.h>
char n[30];
char* getname() {
printf("이름 입력 : ");
gets(n);
return n;
}
void main() {
char* n1 = getname();
char* n2 = getname();
char* n3 = getname();
printf("%s\n", n1);
printf("%s\n", n2);
printf("%s\n", n3);
}
#include <stdio.h>
int isPerfectNum(int num) {
int sum = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0)
sum += i;
}
if (num == sum) return 1;
else return 0;
}
void main() {
int r = 0;
for (int i = 1; i <= 100; i++)
if (isPerfectNum(i))
r += i;
printf("%d", r);
}
✏️ 34
i = 1 : 1!=0, return 0
i = 2 : return 0
i = 3 : return 0
...
i = 6 : sum = 0 + 1 + 2 + 3 = 6, return 1 → r = 0 + 6
...
i = 28 : sum = 0 + 1 + 2 + 4 + 7 + 14 = 28, return 1 → r = 6 + 28
...
참고,
시나공