목록2024/01 (75)
미소를뿌리는감자의 코딩
https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 1. 접근 방법 이번 문제는 deque로 접근하면 쉽게 풀릴 것 같았다. 추가적으로 뭔가 규칙이 있을 것 같았다. deque로 우선 코드를 작성하고 백준에 넣어봤더니 통과 되었다. 규칙적인 부분도 한번 해보고 싶어서 쭉 적어보았더니 다음과 같은 결과가 나왔다. 2의 n승 일 때마다 해당 카드의 개수가 마지막으로 남게 되는 카드의 수 였다. 만약 2의 제곱수가 아닌 카드의 마지막으로 남게 되는 수는..
join 테이블이 서로 분리되어 있을 때, 어떻게 table을 join할 것인지. 두 테이블의 공통된 정보 값을 기준으로 테이블을 연결 짓는 것. join의 종류: Left Join, Inner Join 1) Left Join a 와 b table이 있을 때, a table을 기준으로 붙이는 것. select * from users u left join point_users p on u.user_id = p.user_id 왼쪽을 기준으로 붙이는 것을 의미함. 2)Inner Join select * from users u inner join point_users p on u.user_id = p.user_id 교집합을 의미. NULL인 부분이 있으면 포함시키지 않고 진행. (u 와 p로 별칭을 만들어준 것..
group by select name, count(*) from users group by name; name 으로 묶은 group을 만든 뒤, count로 몇개인지 세는 것을 의미한다. 처음에는 별로 와닿지 않았지만, 쓰면 쓸수록 잘 이해 되었다. 여기서 count(*) 가 아닌 다르게 쓰일 수도 있다. 만약 likes개수의 avg, min, max, sum를 구하고 싶다면, 이 대신에 avg(likes), min(likes), max(likes), sum(likes)이런식으로 작성하면 된다. 만약 avg(likes) 를 하면 소수점 자리들이 조금 지저분하게 느껴질 수 있다. 이럴 때에는 round를 이용하면 된다. round(avg(likes), 1) 이렇게 작성하면 된다. 1 은 첫 번째 자리수 까..
이제 SQL을 시작하려고 한다. 안배워본 부분이라 약간의 설렘 + 긴장이 있는 것 같다. 통상적으로 모든 데이터 베이스는 CRUD 에 해당하는 기능을 지원한다. C (Create): 데이터 생성을 의미함. R (Read): 저장된 데이터를 읽어오는 것을 의미 ** 이 부분을 중점적으로 다룰 것임. U (Update): 저장된 데이터를 변경 D (Delete): 저장된 데이터를 삭제하는 것을 의미 table, field table 은 데이터가 담긴 엑셀 시트와 동일하다. field는 각각 세로 줄 같은 느낌이다. Excute SQL Query 의 경우 mac 에서는 control + enter를 하면 된다. select * from orders where course_title='앱개발 종합반'and pa..