본문 바로가기

분류 전체보기231

없는 숫자 더하기 0~9까지라길래 새로운 배열을 만들어서 해보려했다. int[] num = {0,1,2,3,4,5,6,7,8,9} 해서 하나씩 비교하고 없으면 어떻게 해보려했는데 생각보다 너무 안됐다. 그래서 노트를 꺼내서 생각해보자마자 0~9까지 더한수에서 인수로 주어진numbers 의 원소들의 합을 빼면 되는구나! 싶었다. 0~9의 합은 45. 예를 들어 numbers = {5,8} 이면 45 - 13하면 되는거였다. 뻘짓을 하고있었다 나는... 크흠 그래서 내 풀이를 보자면 public static int solution(int[] numbers) { int answer = 0; for(int i = 0; i < 10; i++){ answer += i; } for(int j = 0; j < numbers.length.. 2024. 1. 17.
CASE문, WHERE절 ㅇ CASE문 CASE문은 조건문이라고도 불린다. 함수는 아니지만 함수의 역할을 대신해 조건을 만족할 시 특정값으로 분류가 가능하다. CASE WHEN 조건1 THEN 출력1 WHEN 조건2 THEN 출력2 ELSE 출력3 END 이렇게 쓰인다. SELECT sales_amount , CASE WHEN sales_amount 0 THEN '정상거래' END AS 적용결과 FROM sales sales_amount 적용결과 -30000 환불거래 90000 정상거래 40000 정상거래 이런식으로 쓰인다. ㅇ WHERE 절 FROM절에 작성한 테이블에서 원하는 데이터(행)만 필터링 할 수 있도록 조건을 줄때 사용함. SELECT * FROM 테이.. 2024. 1. 16.
나누어 떨어지는 숫자 배열(향상된 for문 꿀팁 idx++) 배열에 대한 이해가 필요한 문제였다. 레벨1치고 고전했던 문제다. 현타가 좀 왔다. public static int[] solution(int[] arr, int divisor) { int[] resultArray; // 나누어 떨어지는 값 개수 계산 int count = 0; for (int num : arr) { if (num % divisor == 0) { count++; } } if (count == 0) { resultArray = new int[]{-1}; } else { // 나누어 떨어지는 값이 있는 경우 배열에 담고 정렬하기 resultArray = new int[count]; int index = 0; for (int num : arr) { if (num % divisor == 0) {.. 2024. 1. 16.
MAC주소, ARP, PORT, 패킷교환방식, 라우터, 액세스포인트, 허브, 스위치 ㅇ MAC 주소 네트워크에 연결되는 기기나 단말기가 고유로 가지는 식별자. 48비트로 되어있고 상위 24비트를 벤더코드(제조사 할당), 하위24비트를 노드번호라고 함(제조사가 제품별 각 할당). MAC주소는 2계층 이하의 식별자고, IP 주소는 3계층 이상의 식별자. ㅇ ARP IP 주소에서 해당 장비의 MAC 주소를 확인하는 프로토콜. LAN 내에서 패킷교환하려면 해당 IP 주소가 어느 MAC주소를 가진 장치인지 확인하고 구성해야함. 모든 장치가 수신하는 브로드캐스트 방식을 통해 모두 수신한다. 그러면 찾는 MAC주소를 가진 해당 장치는 자신의 MAC 주소를 회신한다. 실제론 브로드캐스트 방식은 비효율적이기 때문에 허브나 라우터에 조회해서 알아낸다. ㅇ PORT 번호 TCP/UDP 프로토콜에서 사용되는.. 2024. 1. 12.