전체 글 96

4주차_백준 (2) - 분해합

▶문제​​​▶풀이이 문제도 블랙잭 문제와 같이 모든 경우의 수를 탐색하는 브루트 포스 방법을 사용하면 된다. ① 정수 N을 입력받는다. ② 1부터 입력받은 정수 N까지 반복문을 실행③ 각 숫자를 자릿수로 분리하여 각 자릿수를 리스트에 저장-> 전체적인 알고리즘은 이와 같고 코드별 세부 설명은 주석 처리하여 설명하였다.​​이 문제는 비교적 쉽게 풀 수 있었다!

2024 SWLUG/백준 2024.05.22

4주차_백준 (1) - 블랙잭

▶문제문제를 정리하자면플레이어는 N장의 카드 중 3장의 카드를 뽑는다.딜러가 외친 숫자 M을 넘지 않으면서 최대한 가까운 카드 3장의 합을 출력한다.카드의 개수 N은 3이상 100이하, 딜러가 외치는 숫자 M은 10이상 300,000 이하이다.​​​▶풀이이 문제 같은 경우는 모든 경우의 수를 다 돌아야한다.① map 함수 사용map() : 여러 개의 데이터를 받아서 각각의 요소에 함수를 적용한 결과를 반환하는 내장 함수기본 문법: map(function, iterable)function : 각 요소에 적용할 함수iterable: 리스트, 튜플 등 함수를 적용할 데이터 집합-> iterable의 각 항목을 순회하면서 function을 적용하고, 그 결과를 새로운 iterable 객체로 반환​이 문제에선 사..

2024 SWLUG/백준 2024.05.22

3주차_백준 (2) - 부녀회장이 될테야

▶문제​​​▶풀이우선 문제를 잘 이해해야한다(처음엔 2차원 배열인가 생각했는데 아니었다...)예를 들어 0층에 4호까지 있고 1호부터 4호까지 각각 1,2,3,4명이 산다고 생각해보자. ​2층: 1 4 10 201층: 1 3 6 100층: 1 2 3 4​이런식으로 살 수 있는 것이다. 즉, 정리해보면 1. k,n을 입력받음2. 중첩 for 반복문을 사용한다. 먼저 해당 호수에 거주하는 사람을 저장해둔다.3. 층수가 증가할 때마다 저장되어있는 값에 새로운 값을 저장한다. ​​​▶참고1. 반복제어변수 없는 for 반복문이 문제를 풀기 위해선 반복제어변수가 없는 for 반복문을 한 번 써야한다. 이 개념이 생소해서 따로 찾아보았다. -> 단순 반복만 할 때와 같이 제어변수를 명령에서 꼭 사용해야 되는 것은 아..

2024 SWLUG/백준 2024.05.22

3주차_백준 (1) - 1,2,3 더하기

▶문제​​​▶풀이우선 어떻게 풀어야할지 바로 생각이 안나 1부터 경우의 수를 적어보았다.1부터 5까지 적어보니 1~3은 방법의 수가 각각 1,2,4가지이고 4부터 자기 앞의 3개 숫자의 방법의 수를 더한 값이 나온다는 것을 알았다!코드별 설명 및 주의사항은 주석으로 달았다. 이번 문제는 2주차 문제보다 훨씬 수월했다!​​​▶참고이 문제를 조건식으로 풀었는데 처음에는 배열로 푸려고 했다. 그러다 조건식이 더 간단하게 스스로 작성할 수 있을 것 같아 바꿨는데 배열의 초기화 하는 법을 몰라 검색을 하였다.​list명 = [0] * N-> [0]이 N개인 리스트를 생성하는 방법이다. 즉, N개의 원소를 가진 리스트를 0으로 초기화하는 방식이다.

2024 SWLUG/백준 2024.05.22

2주차_백준 (2) - 양팔저울

▶문제문제 조건이 많다. 조건부터 정리해보자면① 추의 개수 : 자연수, 30개 이하② 추의 무게: 자연수, 500g이하, 같은 무게의 추 중복 가능③ 무게를 확인하고자 하는 구슬의 개수: 7개 이하④ 확인하고자 하는 구슬의 무게: 40,000보다 작거나 같은 자연수줄별로 크게 4가지로 나눌 수 있다.​​​▶풀이문제를 살펴보면 양팔 저울이 무게를 재는 원리는 "양팔에 올라간 추의 무게 차이"임을 알 수 있다. 이 문제 또한 시간 안에 풀기 위해서는 중복되는 경우가 있는지 생각해봐야 한다. 고민해본 결과 양팔의 차이가 같은 경우들은 굳이 중복해서 계산하지 않아도 되지 않을까?라는 생각을 해보았다. 예를 들자면 과 같이 1g&4g 추로 구슬의 무게가 3g임을 알 수 있지만 2g&5g, 극단적으로 97g&100..

2024 SWLUG/백준 2024.05.22

2주차_백준 (1) - 내리막길

▶문제​​​▶DFS​우선, 이 문제를 풀기 위해 DFS(깊이 우선 탐색)에 대해 알아야한다.​[참고]https://velog.io/@dltmdrl1244/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B7%B8%EB%9E%98%ED%94%84-%ED%83%90%EC%83%89-DFS-BFS[알고리즘] 그래프 탐색 - 깊이 우선 탐색 (DFS) (파이썬)그래프 탐색 알고리즘의 대표격이라 할 수 있는 DFS(깊이 우선 탐색)과 BFS(너비 우선 탐색)에 대해 알아보자.velog.ioDFSDepth-First Searh, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이며 스택 자료구조(혹은 재귀함수)를 이용한다. ​DFS의 작동 방법1. 노드와 연결된 탐색하지 않은 이웃 노드 ..

2024 SWLUG/백준 2024.05.22

1주차_프로그래머스 (2) - 공배수

▶문제​​​▶답안 및 해설1. 문제를 보면 케이스에 따라 각기 다른 값이 리턴되기 때문에 if 문을 사용해야한다.​2. 변수 result를 0으로 초기화 하여 정의한다. 그 후 if-else문을 사용하는데 여기서 n의 배수이면서 m의 배수이여야 하므로 연산자 AND(&&)를 사용한다. ​3. 나머지가 0 즉, 나누어 떨어지면 1을 반환하도 그렇지 않으면 0을 반환하도록 작성 후 result를 반환한다.

2024 SWLUG/백준 2024.05.22

1주차_프로그래머스 (1) - n의 배수

▶문제 ​​​▶답안 및 해설​​​1. 문제를 보면 케이스에 따라 각기 다른 값이 리턴되기 때문에 if 문을 사용해야한다.​2. 리턴되는 answer의 값을 0으로 초기화하여 정의한다. (초기값을 주어야 그 변수가 정의될 수 있다.)그 후 나머지 연산자 %를 사용하여 나머지가 0 즉, 나누어 떨어지면 1을 반환하도록 그렇지 않으면 0을 반환하도록 if-else 문을 작성하였다. ​

2024 SWLUG/백준 2024.05.22

[7주차]고급 2교시_CPO가 알아야 할 필수 개인정보 법률지식

※CPO(Chief Privacy Officer): 개인정보 최고책임자▶개인정보의 정의개인정보의 정의에 관해서는 이미 학습하였지만 1주차에 봤기 때문에 다시 복습하는 겸 작성해본다...​① 성명, 주민등록번호 및 영상 등을 통하여 개인을 알아볼 수 있는 정보② 해당 정보만으로는 특정 개인을 알아볼 수 없더라도 다른 정보와 쉽게 결합하여 알아볼 수 있는 정보위의 판결을 보면 '쉽게 결합하여 알아볼 수 있다' = 구하기 쉬운지 어려운지와는 상관없이 해당 정보와 다른 정보가 특별한 어려움이 없이 쉽게 결합하여 특정 개인을 알아볼 수 있게 됨​③ 위의 ①, ②의 정보를 가명처리함으로써 원래의 상태로 복원하기 위한 추가 정보의 사용,결합 없이는 특정 개인을 알아볼 수 없는 정보-> 이 3가지 중 어느 하나에 해당..

[6주차]중급 3교시_개인정보 유/노출 사고사례 및 침해사고 대응

이번주 학습 내용은 지금까지 했던 내용들과 겹치는 부분들도 꽤 있어서 겹치는 부분은 넘어가도록 하겠다!​▶개인정보 유/노출 사고원인유출,침해의 초 대량화: 개인정보 대량 집적 추세로 전국민의 개인정보 유출 위험개인정보 취급 분야 확대새로운 기술 발달: 스마트폰, 클라우드 컴퓨팅, CCTV, AI, 빅데이터 등 새로운 기술에 기반한 심각한 이슈 발생정보 주체의 인식 변화: 집단소송, 분쟁조정, 침해신고 등 개인정보 침해에 적극적으로 대응하면서 정보주체의 권리보장 요구 증대​▶개인정보 유출 사고 사례아래 사진은 개인정보 유출사고 원인 Top 3이다.해킹, 업무과실, 고의유출 순으로 많다.​추가로 홈페이지 노출 원인 Top3는홈페이지 관리자 부주의홈페이지 설계 및 개발 오류홈페이지 이용자 부주의순으로 나타난다..