JAVA(2문제)
https://www.mycompiler.io/ko/new/java
새 Java 프로그램 만들기 - 마이컴파일러 - myCompiler
실행 코드 코드 저장 기존 코드를 유지하시겠습니까? 에디터에 코드가 있는 동안 언어를 전환하려고 합니다. 이를 유지하려면 “기존 코드 유지”를 선택합니다. 예제로 바꾸려면 “예제로 바
www.mycompiler.io
1. 출력값 구하기
class Connection {
private static Connection _inst = null;
private int count = 0;
static public Connection get() {
if(_inst == null) {
_inst = new Connection();
return _inst;
}
return _inst;
}
public void count() { count ++; }
public int getCount() { return count; }
}
public class testcon {
public static void main(String[] args) {
Connection conn1 = Connection.get();
conn1.count();
Connection conn2 = Connection.get();
conn2.count();
Connection conn3 = Connection.get();
conn3.count();
System.out.print(conn1.getCount());
}
}
정답 : 3
싱글턴 패턴 코드
- 인스턴스를 1개만 선언하고, 오직 하나의 메서드(위에서는 get())를 통해서만 미리 생성된 인스턴스로 가져올 수 있도록 설계
- new 키워드를 이용한 객체 생성을 막아두는 패턴
2. 출력값 구하기
public class testco {
public static void main(String[] args) {
int a = 3, b = 4, c = 3, d = 5;
if((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d)) {
a = b + c;
if(7 == b ^ c != a) {
System.out.println(a);
} else {
System.out.println(b);
}
} else {
a = c + d;
if(7 == c ^ d != a) {
System.out.println(a);
} else {
System.out.println(d);
}
}
}
}
정답 : 7
(3 == 2 | 3 == 3) : false | true == true
!(3 > 5) : !false = true
1 == 4 ^ 3 != 5 : 0 ^ 1 == 1 == true
true & true & true == true
7 == 4 ^ 3 != 7 : 0 ^ 1 == 1 == true
자바의 논리 연산자
- | : or 연산자, 주어진 조건 중 하나라도 참이면 참
- & : and 연산자, 주어진 조건들이 모두 참이면 참
- ! : NOT 연산자, 참이면 거짓으로 거짓이면 참으로 변경
- && : 선조건이 true 일 때만 후조건을 실행하며, 선조건이 false이면 후조건 실행하지 않음
- || : 선조건이 true이면 후조건을 실행하지 않으며, 선조건이 false일 때만 후조건 실행
자바의 비트 연산자
- & : 비트 단위의 AND, 둘 다 1이여야 1(true)
- | : 비트 단위의 OR, 둘 중 하나라도 1이면 1(true)
- ^ : XOR(배타적 OR), 서로 다르면 1(true), 서로 같으면 0(false)
- ~ : 단항 연산자, 비트를 반전 0은 1로, 1은 0으로
C언어(2문제)
https://www.mycompiler.io/ko/new/c
새 C 프로그램 만들기 - 마이컴파일러 - myCompiler
실행 코드 코드 저장 기존 코드를 유지하시겠습니까? 에디터에 코드가 있는 동안 언어를 전환하려고 합니다. 이를 유지하려면 “기존 코드 유지”를 선택합니다. 예제로 바꾸려면 “예제로 바
www.mycompiler.io
1. 출력값 구하기
#include <stdio.h>
int main(){
int *arr[3];
int a = 12, b = 24, c = 36;
arr[0] = &a;
arr[1] = &b;
arr[2] = &c;
printf("%d\n", *arr[1] + **arr + 1);
}
정답 : 37
arr = {a의 주소값, b의 주소값, c의 주소값}
arr[1] : b의 주소값
*arr[1] : b에 저장된 값 24
arr : arr의 첫 번째 요소의 주소값인 &arr[0]
*arr : arr의 첫 번째 요소의 값인 a의 주소값
**arr : a에 저장된 값 12
포인터 배열
- 배열의 주소 : 배열명 == &배열명[0];
- 배열의 0번지 값 : 배열명[0] == *배열명;
2. 출력값 구하기
#include <stdio.h>
struct jsu {
char name[12];
int os, db, hab, hhab;
};
int main(){
struct jsu st[3] = {{"데이터1", 95, 88},
{"데이터2", 84, 91},
{"데이터3", 86, 75}};
struct jsu* p;
p = &st[0];
(p + 1)->hab = (p + 1)->os + (p + 2)->db;
(p + 1)->hhab = (p+1)->hab + p->os + p->db;
printf("%d\n", (p+1)->hab + (p+1)->hhab);
}
정답 : 501
p : st[0]의 주소를 가리킴
P+1 : st[1]의 주소를 가리킴
p+2 : st[2]의 주소를 가리킴
구조체 연산자
.(도트 연산자)
- (*포인터이름).멤버변수이름 = 값
- 클래스의 멤버를 직접적으로 접근
->(화살표 연산자)
- 포인터이름->멤버변수이름 = 값
- 포인터를 통해 멤버를 간접적으로 접근
PYTHON(1문제)
https://www.mycompiler.io/ko/new/python
새 Python 프로그램 만들기 - 마이컴파일러 - myCompiler
실행 코드 코드 저장 기존 코드를 유지하시겠습니까? 에디터에 코드가 있는 동안 언어를 전환하려고 합니다. 이를 유지하려면 “기존 코드 유지”를 선택합니다. 예제로 바꾸려면 “예제로 바
www.mycompiler.io
1. 출력값 구하기
a,b = 100, 200
print(a==b)
정답 : False
파이썬 bool 자료형 반환 값 : True, False
SQL(1문제)
https://www.programiz.com/sql/online-compiler/
Online SQL Editor
www.programiz.com
1. 실행결과
[A]
NAME |
SOPHIA |
OLIVIA |
SEMA |
[B]
RULE |
S% |
%A% |
SELECT COUNT(*) CNT FROM A CROSS JOIN B
WHERE A.NAME LIKE B.RULE;
정답 : 5
INNER JOIN
- 내부 조인
- 교집합
OUTER JOIN
- 외부 조인
- 한쪽에만 데이터가 있어도 결과가 나옴
- LEFT | RIGHT | FULL : 왼쪽테이블 모든 값 | 오른쪽테이블 모든 값 | 왼쪽외부조인 +오른쪽 외부조인
CROSS JOIN
- 상호 조인
- 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능
- A 행의 개수 X B 행의 개수
SELF JOIN
- 자체 조인
- 1개 테이블을 조인하면 자체 조인
LIKE 연산자
- 문자열 부분일치 검색
- % : 모든 문자
- _ : 한글자
'문제 > 정보처리기사실기' 카테고리의 다른 글
[정보처리기사 실기] 2021년 1회 JAVA, C, PYTHON, SQL (0) | 2024.10.14 |
---|---|
[정보처리기사 실기] 2021년 2회 JAVA, C, PYTHON, SQL (0) | 2024.10.14 |
[정보처리기사 실기] 2022년 1회 JAVA, C, PYTHON, SQL (0) | 2024.10.13 |
[정보처리기사 실기] 2022년 2회 JAVA, C, PYTHON, SQL (0) | 2024.10.12 |
[정보처리기사 실기] 2022년 3회 JAVA, C, PYTHON, SQL (0) | 2024.09.21 |