본문 바로가기 메뉴 바로가기

SiO2whocodes

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

SiO2whocodes

검색하기 폼
  • 분류 전체보기 (205)
    • 알고리즘 문제풀이 (168)
    • iOS (12)
      • swift (1)
    • Spring (2)
    • Research Paper (4)
    • coding() (10)
      • Git (4)
    • 책 (2)
    • PHOKI (1)
    • Culture Cabinet (1)
    • 기타 (0)
  • 방명록

백트래킹 (7)
[백준 9663] 알고리즘 31일차 : N-Queen

https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 백트래킹 C++ 백트래킹의 고전 문제 N-Queen 문제이다. 아무리 그래도 규칙 설명 한 줄이 없다. 접근방법 알고리즘 수업 때 배운 로직을 사용했다. 각 행에 퀸이 놓여있는 열 인덱스를 담은 col 배열을 전역변수로 선언해두고 한 행 안에서 각 열에 대한 반복문을 돌면서 퀸을 놓고 함수를 재귀 호출한 뒤 다시 퀸을 거두면서 백트래킹을 구현했다. promising을 함수 초반에 호출하여 검사하는게 직관적으로 와..

알고리즘 문제풀이 2020. 7. 27. 14:51
[백준 14888] 알고리즘 20일차 : 연산자 끼워넣기

https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, �� www.acmicpc.net 백트래킹 C++ 삼성 SW 역량 테스트 기출 문제 1 문제 순서가 정해진 피연산자들이 주어지고 +,-,x,÷ 의 개수가 입력된다. 그럼 연산자들의 순서를 바꿔가며 계산한 값의 최댓값과 최솟값을 출력하는 문제이다. 접근방법 순서가 다르게 연산자들을 나열한다. N과 M(1)의 코드를 재사용했다. 그 결과 연산자들의 순서가 다른 모든 경우의 ..

알고리즘 문제풀이 2020. 7. 10. 19:05
[백준 14889] 알고리즘 19일차 : 스타트와 링크

https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 백트래킹 C++ 삼성 SW 역량 테스트 기출 문제 2 접근방법 팀선정에 N과 M(2)에서 사용했던 코드 재사용했다.(조합) 근데 보수관계의 조합은 필요없어서 첫번째로 들어오는 수가 0인 조합만 조사했다. ischeck배열로 1이면 스타트팀, 0이면 링크팀에 넣고 또 스타트팀의 능력치 합산 점수, 링크팀의 능력치 합산 점수를 구한다. 그리고 이들의 차이는 gap변수(전역변수)에 저장하면서 최솟값을 갱신한다. f함수 끝낸..

알고리즘 문제풀이 2020. 7. 9. 23:57
[백준 15652] 알고리즘 18일차 : N과 M(4)

https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 백트래킹 C++ 4는 2와 3을 합친 문제이다. 수열 내의 중복을 허용하고, 오름차순이다 2에서 사용했던 if문을 사용하고, 중복을 허용하기 때문에 반복여부를 체크하는 ischeck배열도 사용하지 않는다. 다만 중복을 허용하는 오름차순이기 때문에 for문 제어변수 i의 초기값을 result배열의 가장 최근 값부터 N까지로 한다.(=) 소스코드 // // 15652.cpp // back track..

알고리즘 문제풀이 2020. 7. 8. 15:53
[백준 15651] 알고리즘 18일차 : N과 M(3)

https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 백트래킹 C++ 이게 순열이네 1은 순열은 아니다. 수열 내의 중복이 허용되지 않았다 이 코드가 제일 간단했다. 그냥 반복문돌면서 result에 넣어서 출력하면 끝 // // 15651.cpp // back tracking // // Created by 임수정 on 2020/07/08. // Copyright © 2020 임수정. All rights reserved. // #include usi..

알고리즘 문제풀이 2020. 7. 8. 15:46
[백준 15650] 알고리즘 18일차 : N과 M(2)

https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 백트래킹 c++ N과 M(1) 문제의 연장선이다. 1은 순열이었고 2는 오름차순이라는 조건을 줘서 조합이다. 그래서 반복문을 0부터 N-1까지가 아니라 result 배열의 가장 최근의 수 부터 N-1까지 반복한다. (실제로 입력하는 수는 배열의 가장 최근의 수 보다 크고, N보다 작거나 같은 수이다. ) 이때 cnt가 0인 경우는 따로 처리해준다. result[-1]ㄸㅐ문 더 좋은 방법이 있을 ..

알고리즘 문제풀이 2020. 7. 8. 15:42
[백준 15649] 알고리즘 17일차 : N과 M(1)

https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 백트래킹 c++ 백트래킹 -> 순열 ischeck배열 써서 방문했는지 저장하고 인덱스는 cnt로 제어 f함수 재귀 cnt가 M까지 가면 재귀 종료 소스코드 // // main.cpp // back tracking // // Created by 임수정 on 2020/07/07. // Copyright © 2020 임수정. All rights reserved. // #include using nam..

알고리즘 문제풀이 2020. 7. 7. 21:46
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
  • [TSC-2021] A Missing QoS Pr⋯
  • [EdgeCom-2020] Green comput⋯
  • [FGCS-2018] An SVM-based co⋯
  • [IEEE TSC-2020] A Survey on⋯
최근에 달린 댓글
  • 감사해요 덕분에 통과했습니다 ㅜ ㅜ
  • 그러네요! 지금 다시 0 예외 처리 해주지 않고 제출했⋯
  • 궁금한게 있는데요.. 입력에 N은 1000000보다 작⋯
  • 프로그램을 실행파일로 올려놓은 것이 문제가 됐던 것 같⋯
Total
8,616
Today
17
Yesterday
34
링크
TAG
  • 최소힙
  • 백준
  • 브루트포스
  • 파이썬
  • BFS
  • Swift
  • 최단경로
  • 게임이론
  • 가장 큰 수 Swift
  • 수학
  • 정렬
  • c++
  • 이분탐색
  • 그리디알고리즘
  • 프로그래머스
  • 우선순위큐
  • dp
  • 트리
  • 투포인터
  • 스택
  • 백트래킹
  • 가장 큰 수 프로그래머스
  • 다이나믹프로그래밍
  • 알고리즘
  • dfs
  • 최대힙
  • 웹크롤링
  • 토마토
  • 동적계획법
  • 자바
more
«   2023/03   »
일 월 화 수 목 금 토
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
  • 2023/01 (4)
  • 2022/06 (1)
  • 2022/04 (9)
  • 2022/03 (22)

Blog is powered by Tistory / Designed by Tistory

티스토리툴바