Banner

My Tech Blog (2차원배열)

오늘의 명언
포인터 문제1#include int main() { int code[] = {10, 20, 30}; int *p = code; printf("%d \n", *p++); // 10 출력 후 포인터 p가 다음 위치로 이동 printf("%d \n", *p); // 20 출력 printf("%d \n", (*p)++); // 20 출력 후 p가 가리키는 값 21로 증가 printf("%d \n", *p++); // 21 출력 후 포인터 p가 다음 위치로 이동 (30 가리킴) return 0;}int *p : int 타입 값을 가리키는 포인터 선언code : 배열 이름 (code[0]의 주소를 뜻함)p = code : 포인터 p가 code[0]의 주소를 저장..
· Java
👾 문제점코테 문제 풀다가 발견한 다른 사람 코드와 내 코드의 차이점 내가 쓴 코드 (하수의 코드)Arrays.sort(targets, (o1, o2) -> o1[1] - o2[1]); 남이 쓴 코드 (고수의 코드)Arrays.sort(targets, (a, b) -> Integer.compare(a[1], b[1])); 왜 이 분은 Integer.compare() 메서드를 썼을까?🧐 원인`Arrays.sort(targets, (o1, o2) -> o1[1] - o2[1])` 방식은 두 정수의 뺄셈 결과를 정렬 기준으로 사용한다. 하지만 이 방식은 약간의 문제점을 가지고 있다. 위 코드를 사용하면 int형의 뺄셈 연산 과정에서 오버플로우(overflow)가 발생할 가능성이 있다. 예를 들어, o1[..
✅ 문제정수 N을 입력 받아 N * N 배열에 다음과 같이 숫자를 저장하고 출력하시오.✅ 코드import java.util.Scanner;public class SnakePatternArray { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter the value of N: "); int N = scanner.nextInt(); int[][] array = new int[N][N]; int num = 1; for (int i = 0; i = 0; j--) {..
상단으로